paho mqtt库交叉编译
阿里云文档可以参考
https://code.aliyun.com/edward.yangx/public-docs/wikis/user-guide/linkkit/Paho_MQTT_Guide/Paho_C
1】克隆:
git clone git@github.com:eclipse/paho.mqtt.embedded-c.git
2】修改CMakeLists.txt,设置编译器和sysroot,增加以下语句:
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
SET(CMAKE_C_COMPILER /home/a/Downloads/neoway-arm-oe-linux/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc)
SET(CMAKE_CXX_COMPILER /home/a/Downloads/neoway-arm-oe-linux/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++)
set(CMAKE_SYSROOT /home/a/Downloads/neoway-arm-oe-linux/sysroots/armv7a-vfp-neon-oe-linux-gnueabi)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
备注:
参考资料见CMake交叉编译指南,,以下页面搜索关键字Cross Compiling:
https://cmake.org/cmake/help/v3.0/manual/cmake-toolchains.7.html
source之后,找到有方编译器命令CMAKE_C_COMPILER 绝对路径:which arm-oe-linux-gnueabi-gcc
3】进入克隆包,进行编译:
mkdir build.paho
cd build.paho
cmake ..
make
4】动态库在:
build.paho/MQTTClient-C/src/libpaho-embed-mqtt3cc.so