本篇文章记录搭建 paho.mqtt.c 库文件开发环境记录,以防备忘。
一、安装 paho.mqtt.cpp
sudo apt-get install -y build-essential gcc make cmake cmake-gui cmake-curses-gui
sudo apt-get install -y libssl-dev doxygen graphviz
$ git clone https://github.com/eclipse/paho.mqtt.c.git
$ cd paho.mqtt.c
$ git checkout v1.3.8
$ cmake -Bbuild -H. -DPAHO_ENABLE_TESTING=OFF -DPAHO_BUILD_STATIC=ON -DPAHO_WITH_SSL=ON -DPAHO_HIGH_PERFORMANCE=ON -DPAHO_BUILD_SAMPLES=ON
$ sudo cmake --build build/ --target install
$ sudo ldconfig -p|grep mqtt //未搜索到mqtt库文件,参考解决错误。
二、解决错误:
error while loading shared libraries: libpaho-mqtt3cs.so.1: cannot open shared object file
(1). 打开文件:$ sudo vim /etc/ld.so.conf,在文件"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib",保存文件并退出。
(2). sudo /sbin/ldconfig -v 更新库文件到/etc/ld.so.cache 缓存中。
三、验证库
$ sudo ldconfig -p|grep mqtt
libpaho-mqtt3cs.so.1 (libc6) => /usr/local/lib/libpaho-mqtt3cs.so.1
libpaho-mqtt3cs.so (libc6) => /usr/local/lib/libpaho-mqtt3cs.so
libpaho-mqtt3c.so.1 (libc6) => /usr/local/lib/libpaho-mqtt3c.so.1
libpaho-mqtt3c.so (libc6) => /usr/local/lib/libpaho-mqtt3c.so
libpaho-mqtt3as.so.1 (libc6) => /usr/local/lib/libpaho-mqtt3as.so.1
libpaho-mqtt3as.so (libc6) => /usr/local/lib/libpaho-mqtt3as.so
libpaho-mqtt3a.so.1 (libc6) => /usr/local/lib/libpaho-mqtt3a.so.1
libpaho-mqtt3a.so (libc6) => /usr/local/lib/libpaho-mqtt3a.so
程序即可正常运行。