如何把linux下的软件的源代码直接编译到安卓平台

黄瑞宏 2019-12-21 20:45:00

推荐回答

1、使用rpm包进行安装;优点是不需要另外的编译机,缺点是要安装其他的依赖包。2、使用源码编译生成安装包;优点是在目标机器可以直接使用编译结果,缺点是需要额外的机器找一个内核与发布版本都与你的网关Linux相同的机器,上传你要编译的源码,一般官网提供的是xxx.tar.gz。按照下面步骤操作:a、解压;b、执行configure;c、make;d、makeinstalle、把install目录中的文件打包到目标机器解压;f、在bin或者sbin等目录创建软链接到目标机器安装目录的bin目录下的二进制文件;下面的例子是把openssl安装在opt/openssl目录下:tar-zxfopenssl-0.9.8y.tar.gzcdopenssl-0.9.8y/./configsharedthreads--prefix=/opt/opensslmakemakeinstall执行完上面的命令,就会把openssl安装在编译机的/opt/openssl目录下,接下来只需要把/opt/openssl里面的内容拷贝到你的网关Linux机器即可,记得要在添加/opt/openssl/bin到环境变量PATH里面或者在/usr/bin目录创建软链接到/opt/openssl/bin下的二进制文件。
连丽艳2019-12-21 20:58:05

提示您:回答为网友贡献,仅供参考。

其他回答

  • 驱动最终以*.ko的形式生成,insmod的本质就是将ko文件与运行的内核进行链接的过程。类似于编译helloworld的链接过程。链接必然需要先进行编译,以便确定所需的外部符号。如果内核都没有编译过,怎么知道这些符号有没有编入内核中?关于这方面的知识可参照IBMdeveloperworks上面的《Linux可加载内核模块剖析》及相关文章。
    龚巧云2019-12-21 23:56:28
  • linux下我用vi,但是一般是在win下用SourceInsight读懂了后,在vi下直接修改的。
    梅金香2019-12-21 21:20:55
  • 使用的是putty.exe软件本身机器windows环境连接服务器的linux环境编译androidputty.exe界面在上面有提到了输入你的账号密码后会进入这样的效果就算是成功了可以ls就是当前目录下的文件/文件夹_job就是我的文件夹接下来我们就要进入到源码所在的目录cd你的android源文件的目录比较笨的方法就是cd_joblscd_........就是一层一层的往下走好的办法就是cdjob/按Tab键会自动填写目录名sudumakefirmware注意:编译时必须要在根目录下进行。
    辛国斌2019-12-21 21:07:32
  • 一、程序的组成部分Linux下程序大都是由以下几部分组成:二进制文件:也就是可以运行的程序文件库文件:就是通常我们见到的lib目录下的文件配置文件:这个不必多说,都知道帮助文档:通常是我们在Linux下用man命令查看的命令的文档二、Linux下程序的存放目录Linux程序的存放目录大致有三个地方:/etc,/bin,/sbin,/lib:系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上/usr/bin,/usr/sbin,/usr/lib:操作系统核心功能,可以单独分区/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc,/usr/local/man:这个用于安装第三方程序,分别对应了二进制文件、库文件、配置文件、帮助文档的目录通常来说我们安装程序就安装在/usr/local目录下 三、编译安装源程序1、使用如下命令查看当前是否安装了gcc编译器,没有可以先用yum安装gccgcc--version#查看是否安装gcc2、解压源码包,例如:tar-xvfnginx-1.7.7.tar.gz#解压源码包3、进入解压好的源码包:cdnginx-1.7.7#进入源码包4、执行configure文件,此文件有两个功能:1、让用户选定编译特性;2、检查编译环境。configure执行后将生成MakeFile文件。例如:./configure--prefix=/usr/local/nginx--conf-path=/etc/nginx/nginx.conf其中我们通过--prefix制定了安装路径,通过--conf-path制定了配置文件的具体位置。注意:不是所有的程序的configure参数都是一样的可以使用./configure--help查看详细参数说明。如果该程序所依赖的库在当前系统中没有安装,则会导致configure最后报错,遇到这种情况就需要你先安装依赖库。5、执行make命令,编译程序make6、编译成功后就可以安装了,执行如下命令makeinstall到此程序就算安装完成了,但是不要忘了还有后续的配置哦四、配置程序1、修改PATH环境变量,以能够识别此程序的二进制文件路径;修改/etc/profile文件,在文件中添加exportPATH=$PATH:/path/to/somewhere#记得是可执行文件所在的目录,路径中不要包含可执行文件。然后执行:source/etc/profile#是我们的修改生效 2、默认情况下,系统搜索库文件的路径/lib,/usr/lib;要增添额外搜寻路径注意:有的程序不提供库文件,那就不需要此设置了在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中;然后执行如下命令使其生效ldconfig3、如果程序提供了库文件,也会相应的提供头文件,一般在安装目录的include目录下,系统默认扫描头文件的路径是:/usr/include。我们可以在/usr/include下用链接连接到我们安装程序的头文件。ln-s/usr/local/nginx/include/usr/include/yourname4、可能程序还提供了帮助文档,一般是安装目录下的man目录,为了我们可以使用man命令查看我们程序的帮助文档,我们需要:在/etc/man.config中添加一条MANPATH,指向我们的文档目录。
    黄石全2019-12-21 21:02:41

相关问答

拉卡拉手机收款宝刷卡时找不到pos终端号,常见故障处理方式:1。充电40分钟确保有电。2.删除软件重新安装最新版。3.换个手机测试一下,按顺序试,还不行就是坏了。4.重新登录试下,如果不行拨打客服电话解绑,重新注册一下就好了。5.可以关机在重启试下,信号不好也会有影响。扩展资料:拉卡拉我们一般都是会使用刷信用卡的,用这个也是很方便的,使用方法、步骤如下:1.首先我们要在手机上安装好拉卡拉收款宝,没有下载的我们可以到应用商城里面下载来安装。下载最新版本的。2.下载安装之后我们就可以打开拉卡拉收款宝,打开进来后我们就注册一个登录账号。输入我们的手机号码,获取验证码就可以了。3.登录账号注册好了之后我们就来选择登录进来吧,进入页面后我们就可以看到里面有很多选项。可以刷卡和收款。4.现在我们可以试一下刷卡收款,刷卡收款就是刷一张卡的钱到你绑定的银行卡里面,这里可以输入收款金额和商品类型。5.到时候要刷卡的时候有一个刷卡机,就是拉卡拉刷卡器了,我们还可以到拉卡拉收款宝里面的使用帮助里了解一下具体的收费标准。6.刷完卡了后我们还可以输入能收到消息的号码,还需要签名然后点击确定就行、然后可以到交易通知里查看消息。知道-拉卡拉收款宝刷卡时找不到终端号。
微软为了推销自家平台,默认配置下VS2019和VS2019编写的应用程序只能在Vista/Win7/Win8上运行。但幸好还保留了生成XP程序的设置项。XP和Win2003的用户还是大量存在的,我们程序软件的发布不能不考虑他们。1.项目菜单->项目属性->配置属性->常规->平台工具集,选择“VS2019WindowsXPv120_xp”;2.项目菜单->项目属性->配置属性->常规->MFC的使用,选择在静态库中使用MFC;3.项目菜单->项目属性->链接器->系统->子系统->控制台或窗口windows根据你的项目类型选择,第二项版本号设成5.01。4.C/C++->代码生成->运行库,选择“多线程调试/MTd";5.还需要至少带有Update3或4,这一点我没有验证,因为我直接安装的就是带有Update3的VS2019。以上就OK了。缺点仍然有,例如静态编译的EXE比正常动态要大不少,目前我尚未试出动态编译后在XP中能运行的方法,--不过这个不要紧,因为VS2019版本如此之高,客户的电脑上很难自带配有它的运行库,你即使动态编译,发布软件时也还是要带上运行库的,只不过在多个程序时只需带一份运行库罢了。另外,我在实际大项目中用上述方法,仍有出错现象发生。以后再研究吧。一般情况下上述方法就可以了。在网上另外发现了这个贴子,说得很详细,包括非IDE的命令行编译,一起贴到下面:问题一:编译出来的exe在xp上面运行提示“不是有效的win32应用程序”在vs2019/2019版本里面,其自带的c编译器cl.exe,若直接使用cla.c编译,那么生成出来的exe放在vista及以上版本直接运行没有问题,但是在xp上则会出来“不是有效的win32应用程序”的出错提示。这是因为vs2019/2019自带的c编译器默认情况下生成的exe会默认只支持vista及以上版本的windows系统。解决方法:对于使用命令行cl.exe直接编译的方式:先用cla.c编译一遍,此时会生成a.exe和a.obj两个文件,此时,再执行linkb.obj/subsystem:console,5.01,它会链接一个新的a.exe出来,此时的exe就可以在xp上运行了。相比vs2019以及以前版本的编译器编译,会多第二步的link过程,后面的参数也很容易理解,subsystem,5.01,此处的5.01是指的windows内核版本号,5.01表示windows2000withsp1,即此exe可以在win2000sp1及以上的windows中执行。当然,这个地方的/subsystem后面有很多参数,上面给的console,5.01是指命令行程序,如果是有GUI即有窗口的程序,改成windows,5.01即可。注意!!此处的5.01一定不要想当然改成5.0就变成windows2000不带sp1的版本,实际上,5.0并不被vs2019的编译所承认,会报警告不认5.0,就会按照默认的不带5.01的方式编译,这样就无法在vista以下的系统中运行生成的exe了。对于在vs2019里面使用新建项目的方式:右击相应的项目,选择“属性”,在项目属性页中的“配置属性”下面的“常规”里面,把“平台工具集”,由“VisualStudio2019v120”改成“VisualStudio2019-WindowsXPv120_xp”,确定之后,重新生成项目即可。当然这里按这样修改的话,就只能在winxp及以上的版本系统里面运行了。问题二:用vs2019/2019/2019编译出来的exe在未安装vc++运行库的机器上运行时提示”未找到MSVCR120D.DLL“从而无法运行这是个老问题了,无非就是运行库动态编译和静态编译的问题了。dll动态加载的话有个好处,它可以减少生成的exe文件的体积,但是缺点就是如果对应的系统环境变量或者exe所在的目录里面找不到其所需要的dll文件的话,程序就会拒绝执行。而静态编译就是把所有需要的库都静态编译到exe文件里面,这样就可以在所有的系统平台上都能运行,但它也有一个缺点,就是生成的exe文件因为已经带了部分库的代码,所以体积会相对动态编译出来的exe大具体大多少要根据库的内容才能确定。解决方法:对于直接使用cl.exe和link.exe编译连接的方式:直接在cl.exe编译的时候或者在makefile里面把编译参数加上/MT即可。对于在vs2019里面使用新建项目的方式:右击相应的项目,选择“属性”,在项目属性页中的“配置属性”下面的“C/C++”下面的“代码生成”一项,由默认的“多线程调试DLL/MDd”,改成“多线程/MT”,确定之后,重新生成项目即可。这样所得的exe文件就是静态编译了。