paho.mqtt.c的Linux编译与交叉编译 - Go语言中文社区

paho.mqtt.c的Linux编译与交叉编译


目录

一、下载源码

二、普通编译安装

三、交叉编译安装

四、安装成功示例


一、下载源码

git:https://github.com/eclipse/paho.mqtt.c/releases

下载稳定的C语言的发布版本

二、普通编译安装

注意:本人所述都是基于:CentOS Linux release 7.4 的操作,其它发行版本不保证一样!

解压源码后,进入解压后的主目录,如:cd paho.mqtt.c-1.3.0,按如下步骤执行命令:

  1. mkdir openssl_search_path_x86    创建openssl依赖路径
  2. cd openssl_search_path_x86    进入到刚刚新建的路径
  3. cp -r -d /home/workspace/openssl-1.0.2o_install_new/x86 ./  把已安装过的openssl库文件和头文件拷贝到新建的路径
  4. cd ../  回到主目录
  5. mkdir x86_build 创建cmake的build使用路径
  6. cd x86_build
  7. cmake -DPAHO_WITH_SSL=TRUE -DOPENSSL_SEARCH_PATH=/home/workspace/tools_3rdparty/paho.mqtt.c-1.3.0/openssl_search_path_x86 -DCMAKE_INSTALL_PREFIX=/home/workspace/tools_3rdparty/paho.mqtt.c-1.3.0/x86_install -DPAHO_BUILD_STATIC=TRUE ..  执行cmake,-DCMAKE_INSTALL_PREFIX 是指定paho最终的安装路径用的,-DPAHO_BUILD_STATIC表示需要生成静态库。
  8. make -j10 编译
  9. make install 安装
  • 说明:因为我安装的paho需要用到openssl这个库,当然,如果没必要,可以选择不使用openssl,即:前4步可以省略,第7步cmake的时候不使用对应的编译选项-DPAHO_WITH_SSL和-DOPENSSL_SEARCH_PATH即可,-DOPENSSL_SEARCH_PATH的作用是指定openssl的安装路径,是在openssl没有安装在默认路径下时使用的。
  • openssl的安装参考我另一篇文章:openssl的Linux编译与交叉编译
  • debug版本的编译,需要在第7步中,加上一个编译选项:-DCMAKE_BUILD_TYPE=Debug

     

三、交叉编译安装

与普通编译步骤一样,只是需要指定一下交叉编译器

  1. mkdir openssl_search_path_x3399    创建openssl依赖路径
  2. cd openssl_search_path_x3399   进入到刚刚新建的路径
  3. cp -r -d /home/workspace/openssl-1.0.2o_install_new/x3399 ./  把已安装过的openssl库文件和头文件拷贝到新建的路径
  4. cd ../  回到主目录
  5. mkdir x3399_build 创建cmake的build使用路径
  6. cd x3399_build
  7. cmake -DPAHO_WITH_SSL=TRUE -DOPENSSL_SEARCH_PATH=/home/workspace/tools_3rdparty/paho.mqtt.c-1.3.0/openssl_search_path_x3399 -DCMAKE_INSTALL_PREFIX=/home/workspace/tools_3rdparty/paho.mqtt.c-1.3.0/x3399_install -DPAHO_BUILD_STATIC=TRUE -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc .. -DCMAKE_C_COMPILER表示指定自己的交叉编译器,自己提前安装配置好自己需要的交叉编译器。
  8. make -j10   编译
  9. make install  安装

四、安装成功示例

从图中可以看出,指定安装路径下的lib64下生成了动态库和对应的静态库文件,include下生成了头文件。

五、参考资料

https://blog.csdn.net/fangye945a/article/details/86095699

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/gpf0845531213/article/details/95961973
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-18 17:42:43
  • 阅读 ( 1698 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢