设备接入 IoTDA-C Demo使用说明:准备工作
准备工作
- 编译openssl库
- 访问openssl官网(https://www.openssl.org/source/)下载最新版本openssl(如openssl-1.1.1d.tar.gz),上传到linux编译机上(以上传到/home/test目录下为例),并使用如下命令解压:
tar -zxvf openssl-1.1.1d.tar.gz
- 配置生成makefile文件。
运行如下配置命令:
./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”,请将这些文件复制到demo的lib文件夹下(同时将/home/test/openssl/include/openssl里的内容复制到demo的include/openssl下)。
注:有的编译工具是32位的,如果在64位的linux机器上使用,这时只要将Makefile中的-m64都删除,再进行编译即可。
- 访问openssl官网(https://www.openssl.org/source/)下载最新版本openssl(如openssl-1.1.1d.tar.gz),上传到linux编译机上(以上传到/home/test目录下为例),并使用如下命令解压:
- 编译paho库文件
- 访问github下载地址:https://github.com/eclipse/paho.mqtt.c,下载paho.mqtt.c源码。
- 解压后上传到linux编译机。
- 修改makefile
- 通过如下命令进行编辑Makefile
vim Makefile
- 查找字符串
/DOXYGEN_COMMAND =
- 在/DOXYGEN_COMMAND =doxygen的下一行添加下面两行(自定义的openssl的头文件和库文件)
CFLAGS += -I/home/test/openssl/includeLDFLAGS += -L/home/test/openssl/lib -lrt
- 把如下图的CCDLAGS_SO、LDFLAGS_ CS 、LDFLAGS_AS、FLAGS_EXES的openssl地址都改成对应的地址
- 通过如下命令进行编辑Makefile
- 编译
- 执行清空命令
make clean
- 执行编译命令
make
- 执行清空命令
- 编译完成后,可以在build/output目录下看到编译成功的库。
- 复制paho库文件。
当前SDK仅用到了libpaho-mqtt3as,请将“libpaho-mqtt3as.so”和“libpaho-mqtt3as.so.1”文件复制到demo的lib文件夹下。(同时回到paho源代码路径,进入src目录,将MQTTAsync.h、MQTTClient.h、MQTTClientPersistence.h、MQTTProperties.h、MQTTReasonCodes.h、MQ TTS ubscribeOpts.h复制到demo的include/base文件夹下)。
有的paho版本会有 MQTTExportDeclarations.h 头文件,建议可以将MQTT相关的头文件都添加进去。