mosquitto之arm编译

编译前工作

        请安装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
mosquitto之arm编译

上一篇:适合中小企业,解锁不同场景X86服务器虚拟化方案


下一篇:mosquitto-ubuntu编译安装