设备接入 IOTDA-智慧路灯设备SDK与平台通信(C):编译库文件
编译库文件
- 编译openssl库
- 下载openssl,上传到linux编译机任意目录下,并使用如下命令解压:
tar -zxvf openssl-1.1.1d.tar.gz
- 配置生成makefile文件。
创建openssl编译后的目录(本文以/home/test为例)
mkdir /home/test
创建openssl编译后的目录mkdir /home/test/openssl
创建配置文件目录:mkdir /home/test/openssl/ssl
运行如下配置命令:./config shared --prefix=/home/test/openssl --openssldir=/home/test/openssl/ssl
其中“prefix”是安装目录,“openssldir”是配置文件目录,“shared”作用是生成动态链接库(即.so库) 。
如果编译有问题,配置命令加上no-asm(表示不使用汇编代码)
./config no-asm shared --prefix=/home/test/openssl --openssldir=/home/test/openssl/ssl
- 编译出库。
在openssl源码目录下,运行make depend命令。
make depend
再运行make命令进行编译。
make
安装openssl。
make install
在配置的openssl安装目录下home/test/openssl找到lib目录,有生成的库文件:
“libcrypto.so.1.1”、“libssl.so.1.1”和软链接“libcrypto.so”、“libssl.so”,请将这些文件复制到quickStart(C)的lib文件夹下(同时将/home/test/openssl/include/openssl里的内容复制到quickStart(C)的include/openssl下)。
注:有的编译工具是32位的,如果在64位的linux机器上使用,这时只要将Makefile中的-m64都删除,再进行编译即可。
- 下载openssl,上传到linux编译机任意目录下,并使用如下命令解压:
- 编译paho库文件
- 下载paho.mqtt.c源码。
- 解压后上传到linux编译机。
- 修改makefile
- 编译
- 执行清空命令
make clean
- 执行编译命令
make
- 执行清空命令
- 编译完成后,可以在build/output目录下看到编译成功的库。
- 复制paho库文件。
当前SDK仅用到了libpaho-mqtt3as,请将“libpaho-mqtt3as.so”和“libpaho-mqtt3as.so.1”文件复制到quickStart(C)的lib文件夹下。(同时回到paho源代码路径,进入src目录,将MQTTAsync.h、MQTTClient.h、MQTTClientPersistence.h、MQTTProperties.h、MQTTReasonCodes.h、MQ TTS ubscribeOpts.h复制到quickStart(C)的include/base文件夹下)。