C/C++第三方库zeromq、log4cpp交叉编译、本地安装ubuntu18.04

一、zeromq的编译安装

1)ubuntu下命令

apt-get install libzmq3-dev

不推荐这种方式,因为很可能安装的版本并不是最新的;

2)自己编译安装(推荐)
地址:https://github.com/zeromq/libzmq/releases/tag/v4.3.4
目前最新的是4.3.4下载一个tar.gz格式的
下载之后命令解压:

tar -zxvf 文件名

①进入文件目录
交叉编译的时候,如果没有将交叉编译工具加入到环境变量中,需要手动加一下,例如我的交叉编译工具目录为/opt/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin
则命令如下:

export PATH=$PATH:/opt/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin

②然后运行命令:

./configure --host=aarch64-none-linux-gnu  --prefix=/opt/arm_zeromq/

这个命令就是为了配置Makefile文件,将其中的CC变量即编译工具设置为aarch64-none-linux-gnu,将编译后的头文件和lib文件放置在/opt/arm_zeromq/目录下。本地使用的话,直接用./configure 即可
这里有一点需要注意的是,如果你设置的输出目录不是当前用户下的目录,例如上面的/opt目录,是需要提供root权限的,但是,如果使用sudo命令获取root权限可能会出错,原因是root并没有设置环境变量,可能会提示一些工具找不到,因此,如果如上面所述,设置了root下的目录,那么,请直接使用su命令获取root,然后再设置环境变量!
③运行编译命令:

make -j4

④编译完成以后,运行命令:

make install

注意可能出错,解决办法参考第②步。

然后我们进入到/opt/arm_zeromq/lib目录下使用指令

file libzmq.so.5.0.4

可以看到

libzmq.so.5.0.4: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, with debug_info, not stripped

即64位的arm架构的动态库编译安装成功!
另外,这里安装好的头文件是C的,如果需要使用CPP的,官方有一个对czmq做了一些封装的CPP文件,可以直接使用,
下载链接为:
https://github.com/zeromq/cppzmq
将里面的zmq.hpp和zmq_addon.hpp下载下来,放到include目录下,即可使用。

二、log4cpp的编译安装

①下载
下载链接为https://sourceforge.net/projects/log4cpp/files/
下载最新的版本,然后同zmq解压
切换到root
②配置Makefile
命令:

./configure CC=aarch64-none-linux-gnu-gcc CXX=aarch64-none-linux-gnu-g++ --host=arm-linux --prefix=/opt/log4cpp

这里与zmq不同的是,host参数,zmq需要填写你的交叉编译工具链的前缀,这个需要填arm-linux,并且需要指定gcc和g++,记得要提前设置交叉编译工具的环境变量;
下面就与zmq一样了,编译安装:

make & make install

然后在/opt目录可以看到,动态库的格式
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒙蒂锅巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值