MQTT 在Ubuntu12.04平台下的环境搭建,亲测有效,各位官爷赶紧收藏吧~
一、准备动作
先将压缩包从官网https://mosquitto.org/下载拷贝到Ubuntu的目录中(各位官爷注意版本型号哦)
二、编译openssl-1.0.1e.tar.gz
为了简单,一些简单代码的结果就不给各位官爷截图了,直接上指令。
注意下面的指令中的目录要根据自己的安装目录的路径来哦!!!!
先进行暴力解压openssl-1.0.1e.tar.gz:
tar xvf openssl-1.0.1e.tar.gz
创建openssl-1.0.1e的安装目录:(使安装目录更加具有层次性、易于管理)
mkdir openssl-1.0.1e_install
进入openssl-1.0.1e目录:
cd openssl-1.0.1e
./config no-asm -shared --prefix=/home/edu/tools/mqtt/openssl-1.0.1e_install
make
make install
成功:
三、编译mosquitto-1.5.4.tar.gz
解压mosquitto-1.5.4.tar.gz
tar xvf mosquitto-1.5.4.tar.gz
创建安装文件夹
mkdir mosquitto-1.5.4_install
进入mosquitto-1.5.4
cd mosquitto-1.5.4
修改配置文件config.mk
1、在config.mk文件开头加入CC,CXX,prefix
2、添加CFLAGS语句
3、添加BROKER_LIBS,PASSWD_LIBS,LIB_LIBS语句
在148行左右粘贴
BROKER_LIBS=-L/home/edu/tools/mqtt/openssl-1.0.1e_install/lib -lm -ldl -lssl -lcrypto
PASSWD_LIBS=-L/home/edu/tools/mqtt/openssl-1.0.1e_install/lib -lssl -lcrypto
LIB_LIBS=-L/home/edu/tools/mqtt/openssl-1.0.1e_install/lib -lssl -lcrypto
在206行左右粘贴
BROKER_LIBS=-L/home/edu/tools/mqtt/openssl-1.0.1e_install/lib -lm -ldl -lssl -lcrypto
PASSWD_LIBS=-L/home/edu/tools/mqtt/openssl-1.0.1e_install/lib -lssl -lcrypto
LIB_LIBS=-L/home/edu/tools/mqtt/openssl-1.0.1e_install/lib -lssl -lcrypto
在158行左右添加
添加 -lrt 注意-前面有一个空格
4、命令行设置环境变量并编译安装
sudo apt-get install uuid-dev
export DESTDIR=/home/edu/tools/mqtt/mosquitto-1.5.4_install
接下来make编译
如果提示错误:
在这里插入图片描述
请注释time_mosq.c中的clock_gettime
vim lib/time_mosq.c
改好后:
make
make install
export DESTDIR=//将环境变量重新置NULL
四、添加环境变量
sudo vim ~/.bashrc
在文件的末尾添加如下语句:
export LD_LIBRARY_PATH=/home/edu/tools/mqtt/mosquitto-1.5.4_install/lib
export PATH=/home/edu/tools/mqtt/mosquitto-1.5.4_install/bin:$PATH
export PATH=/home/edu/tools/mqtt/mosquitto-1.5.4_install/sbin:$PATH
最后编译自己的发布以及订阅的.c文件记得修改makefile中的include以及lib的路径
再次编译即可了~