需要在 Linux 系统下先交叉编译好 mosquitto 再移植到开发板中,至于最后 PC 端使用 Linux 还是 Windows 都可以。
注意事先要配置好交叉编译环境
文章目录
一、下载依赖包
编译 mosquitto 需要依赖 libuuid 和 openssl。因此需要下载下面三个文件,注意最好版本保持一致,其他不保证成功:
二、交叉编译
以下编译均在已经配置好交叉编译环境的 Linux 系统下(我使用的是 Ubuntu 18.04,交叉编译包为 arm-linux-gcc-4.3.2.tar.gz)。
1. 交叉编译 libuuid
- ① 在任意位置新建一个文件夹,命名为 mqtt,比如 /Document/mqtt ,将 libuuid-1.0.3.tar.gz 拷贝到该文件夹下,解压得到 /Document/mqtt/libuuid-1.0.3:
tar -vxf libuuid-1.0.3.tar.gz
- ② 在系统 /opt/ 下以管理员身份新建文件夹**/mosquitto-arm**:
mkdir -p /opt/mosquitto-arm
- ③ 配置源码。进入 /Document/mqtt/libuuid-1.0.3/,输入以下指令:
./configure --prefix=/opt/mosquitto-arm/libuuid-1.0.3 CC=arm-none-linux-gnueabi-gcc --host=arm-linux
- ④ 编译。停留在**/Document/mqtt/libuuid-1.0.3/**,输入:
make
- ⑤ 安装。继续输入:
make install
报错 Permission denied,增加管理员权限:
sudo make install
报错 arm-linux-ranlib: command not found,错误来源解释:arm-linux-ranlib: command not found
重新输入:
su
报错su:认证失败,解决方案来源:su 认证失败
需要重新更新 UNIX 密码:
sudo passwd