阿里雲文檔可以參考
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