1. 在交叉编译paho-mqtt-c时用的是cmake的方式编译的,如果我们想要添加一些额外的编译选项就需要我们修改CMakeLists.txt
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic -shared")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic -shared")
2. 交叉编译
$ git clone https://github.com/eclipse/paho.mqtt.c.git #下载源码
$ mkdir build_arm #创建编译目录
$ cd build_arm #进入目录
$ cmake .. -DPAHO_BUILD_STATIC=TRUE -DCMAKE_C_COMPILER=/home/erain/work/project_rv1109/sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
# 配置并编译
$ make
- -DPAHO_BUILD_STATIC=TRUE 表示生成静态库,不需要可以不加,默认为FALSE。
- -DCMAKE_C_COMPILER=xxx 表示指定交叉编译工具链的绝对路径。
- 若编译linux版本的库只需 cmake … 即可,无需指定编译工具路径。
编译完后即可在src目录下得到动态库和静态库