首先在openwrt目录下运行
./script/feeds update -a./script/feeds install -a
(眼熟不,这个就是第一天固态编译里面的软件扩展包更新和安装的方法)
这是在openwrt目录下就会存在一个feeds文件夹,在package下面创建一个软链接指向这个 feeds文件,在package目录下
ln -s ../feeds /package
然后进行make menuconfig 在network项选上mosquitto -client,是mosquitto的第二个。
然后编译。
因为建立了连接所以在编译的时候package目录下存在openwrt目录下的feeds目录,所以才能在network选项中有mosquitto,不然是没有的。
在编译结束后在dl文件中有mosquitto的压缩包
在执行上面的编译之后在dl文件内下载了mosquitto的压缩包,当然我们也可以解压从别处获得来的
找个地方解压,用root用户。不然后面有很多提示权限不够的地方。
解压后进入该文件夹,执行命令
make
make install
然后就可以了
成功后直接运行mosquitto命令运行默认端口是1883 。在etc/mosquitto/mosquitto.conf 修改端口号。原本没有只有一个mosquitto.conf.example,你给他重命名一下,
命名为mosquitto.conf
可能出现的问题:
1】编译找不到openssl/ssl.h
【解决方法】——安装openssl
sudo apt-get install libssl-dev
【2】编译过程找不到ares.h
sudo apt-get install libc-ares-dev
【3】编译过程找不到uuid/uuid.h
sudo apt-get install uuid-dev
【4】使用过程中找不到libmosquitto.so.1
error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
【解决方法】——修改libmosquitto.so位置
# 创建链接
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
# 更新动态链接库
sudo ldconfig
【5】make: g++:命令未找到
【解决方法】
安装g++编译器
sudo apt-get install g++
【6】Error: Invalid user 'mosquitto'.
直接在shell窗口中执行:useradd mosquitto 命令就可以了。
mosquitto安装时在解压压缩包后生成的文件夹中我们可以找到mosquitto主要配置文件config.mk
这个文件的主要内容:
# 是否支持tcpd/libwrap功能.
#WITH_WRAP:=yes
# 是否开启SSL/TLS支持
#WITH_TLS:=yes
# 是否开启TLS/PSK支持
#WITH_TLS_PSK:=yes
# Comment out to disable client client threadin