前言
提示:编译依赖项版本:
mosquitto v2.0.10 Index of /files/source/ (mosquitto.org)
openssl 1.1.1v GitHub - openssl/openssl: TLS/SSL and crypto library
CJson(没有要求)
cares
编译工具链 aarch64-linux-gnu
一、openssl交叉编译
1.执行config生成Makefile文件
./config no-asm shared -fPIC --prefix=/mnt/mosquitto/openssl-build
2.make
make
提示出现错误:
aarch64-linux-gnu-gcc: error: unrecognized command line option '-m64'
错误:无法识别的命令行选项“-m64”
这时候我们需要修改Makefile文件,把所有的-m64去掉。
gedit Makefile
然后就可以make了。
3.make install
inclue存放头文件
lib存放的库文件
二、mosquitto交叉编译
1.修改config.mk文件
修改WITH_DOCS:=no
修改WITH_CJSON:=no (如果需要CJson,这个就为yes)
修改WITH_STATIC_LIBRARIES:=yes
2.复制openssl编译的头文件夹放置mosquitto目录下
3.make
创建一个make.sh脚本,引入交叉编译工具链和openssl库和cares库,文件内容如下:
执行脚本文件
4.make install
执行成功后静态库在该目录lib下,头文件在该目录include下