Ubuntu下顺利交叉编译ZeroMQ过程记录总结

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路Ubuntu下顺利交叉编译ZeroMQ过程记录总结,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一. 下载libzmq源码包:

download libzmq

二. 交叉编译过程

  • 首先在Ubuntu上解压下载的源码包,里面会出现一堆文件及文件夹,其中重点看这几个:autogen.sh、install、README。以下直接讲编译步骤。
  • 在autogen.sh文件所在文件夹空白处右击,打开命令窗口,交叉编译需要修改配置文件configure,但是默认源码里是没有这个文件的,所以需要生成一下;
  • 输入以下命令 , 回车:
./autogen.sh 
  • 此时可能会报错,提示一般都是缺少一些工具,如libtool等,实际上可能缺不止一个的工具,提示只列出来一种,不去管它,直接输入以下3个命令,把缺的都安上:
1. sudo apt-get install libtool
2. sudo apt-get install autoconf
3. sudo apt-get install automake

这三个命令前后顺序按照你执行命令给的提示先后输入就行。

  • 执行完安装好后再次输入 ./autogen.sh命令;之后就可以看到生成了configure文件

./configure配置
使用./configure -h查看文档。
对于交叉编译,主要就是有三个参数:–build –host –target
–build参数是指你编译源码包的系统环境,可以通过查看系统的环境变量来获取,执行set命令可以看到 MACHTYPE=i686-pc-linux-gnu,则–build=i686-pc-linux-gnu
–host参数指的是编译出来的工具运行在什么系统上
–target参数指的是编译出的工具所要操作的系统,譬如说在虚拟机上编译gdb,这个gdb需要查看的是arm开发板的core文件(在虚拟机上查看),这个必须要理解明白,比如说我编译出来的gdb要在我的电脑上运行,但是要调试交叉编译出来的arm指令集的程序,这个时候呢,–target就要是arm-linux,但是–host是i686-pc-linux-gnu。

摘自 https://blog.csdn.net/m0_37570820/article/details/105776694

  • 即这里我们要修改configure文件,配置一些东西如下:
./configure --build=x86_64-pc-linux-gnu --host=arm-linux --target=arm-linux --prefix=/opt/arm-zeromq/ --without-libsodium
  • 执行上述命令结束后,再次输入下面两个命令:
make
make install

你所需要的exe、lib、及include文件夹都已经生成并且存放在路径 opt/arm-zeromq下了。怎么找?

点击左侧边栏的计算机选项,所有根目录下的文件夹都显示在这里,一眼就可以看到。

至此,交叉编译源码包完美结束。

tips:其实原理不难,普通的工程库/exe编译很简单,只是zeromq相对多一点步骤,我也是卡住查了好多资料慢慢成功的。加油,祝每一位看到这里的人,前程似锦,未来可期。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/157416.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!