标签:oe arm 编译 mosquitto 链中 linux gnueabi
编译前工作
请安装arm交叉编译工具链,然后参考mosquitto之linux编译中CMake的使用方法,注意需要修改如下配置选项:
- CMAKE_AR,指定到交叉编译工具链中的
ar
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ar
。 - CMAKE_CXX_COMPILER,指定到交叉编译工具链中的
g++
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++
。 - CMAKE_C_COMPILER,指定到交叉编译工具链中的
gcc
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc
。 - CMAKE_INSTALL_OLDINCLUDEDIR,默认为
/usr/include
。这里改为/opt/mosquitto-1.6.9-arm/include
。 - CMAKE_INSTALL_PREFIX,指定mosquitio编译后的安装路径,默认为
/usr/local
。这里改为/opt/mosquitto-1.6.9-arm
。 - CMAKE_LINKER,指定到交叉编译工具链中的
ld
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ld
。 - CMAKE_NM,指定到交叉编译工具链中的
nm
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-nm
。 - CMAKE_OBJCOPY,指定到交叉编译工具链中的
objcopy
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-objcopy
。 - CMAKE_OBJDUMP,指定到交叉编译工具链中的
objdump
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-objdump
。 - CMAKE_RANLIB,指定到交叉编译工具链中的
ranlib
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ranlib
。 - CMAKE_STRIP,指定到交叉编译工具链中的
strip
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-strip
。 - LIBPTHREAD,指定到交叉编译工具链中的
libpthread.so
库,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/lib/libpthread.so.0
。 - LIBRT,指定到交叉编译工具链中的
librt.so
库,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/lib/librt.so.1
。 - OPENSSL_CRYPTO_LIBRARY,指定到交叉编译工具链中的
libcrypto.so
库,若不使用OpenSSL则可以不设置,例如:/opt/openssl-1.1.1-arm/lib/libcrypto.so
。 - OPENSSL_INCLUDE_DIR,指定到交叉编译工具链中的OpenSSL头文件目录,若不使用OpenSSL则可以不设置,例如:
/opt/openssl-1.1.1-arm/include
。 - OPENSSL_SSL_LIBRARY,指定到交叉编译工具链中的
libssl.so
库,若不使用OpenSSL则可以不设置,例如:/opt/openssl-1.1.1-arm/lib/libssl.so
。 - PKG_CONFIG_EXECUTABLE,指定到交叉编译工具链中的
pkg_config
程序,例如:/home/crosstool/sysroots/x86_64-oesdk-linux/usr/bin/pkg-config
。 - WITH_STATIC_LIBRARIES,指定是否同时编译出静态库,若打勾则除了动态库还会编译出静态库,默认不打勾(只编译动态库)。
- WITH_TLS,指定是否包含SSL/TLS支持,默认打勾(若打勾,必须设置OpenSSL相关配置选项),若不想使用SSL,则不打勾。
- WITH_TLS_PSK,指定是否包含TLS_PSK支持,默认打勾(若打勾,必须同时把WITH_TLS打勾),若不想使用SSL,则不打勾。
编译源码
打开终端,输入命令:make
,成功后,输入命令:make install
,即可把mosquitto库安装到目录:/opt/mosquitto-1.6.9-arm
。
标签:oe,arm,编译,mosquitto,链中,linux,gnueabi 来源: https://blog.csdn.net/hezhanran/article/details/105966165
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。