cmake交叉编译paho-mqtt-c并添加编译选项 -fPIC

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目录下得到动态库和静态库
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gmq_syy/article/details/112171988