一. 下载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