1. 环境准备与版本选择
在开始QT-MQTT的嵌入式部署之前,我们需要先准备好交叉编译环境和选择合适的版本。我用的目标机是Arm-32位架构,运行的是Linux 5.10.66内核,编译器是arm-rockchip830-linux-uclibcgnueabihf-gcc。这里有个坑要注意:一定要根据你本地已有的QT环境来选择QT-MQTT的版本,不然很容易出现兼容性问题。
比如我当时用的是QT 5.12.9的源码库,所以就选了QT-MQTT 5.15.2版本,而不是最新的6+版本。如果你用的是QT 6,那就要对应选择QT-MQTT 6+版本,否则编译时会遇到各种奇怪的错误。版本匹配真的很重要,这是我踩过好几次坑才得出的经验。
交叉编译环境的配置也需要特别注意。你需要确保你的交叉编译工具链已经正确安装,并且能在命令行中直接调用。可以通过运行arm-rockchip830-linux-uclibcgnueabihf-gcc -v来检查编译器是否正常工作。如果出现"command not found"错误,那就要检查你的PATH环境变量是否包含了交叉编译器的路径。
2. 源码获取与编译配置
QT-MQTT的源码可以直接从GitHub上获取。官方仓库地址是https://github.com/qt/qtmqtt。我建议直接使用git克隆仓库,这样可以方便地切换版本标签。进入qtmqtt目录后,用git checkout v5.15.2切换到对应的版本。
打开qtmqtt.pro文件,如果你之前已经配置过QT的交叉编译环境,那么QT Creator中的编译配置应该是正常的。关键是要确保qmake使用的是交叉编译版本的qmake,而不是系统自带的qmake。你可以通过运行which qmake来检查当前使用的是哪个版本的qmake。
在配置编译选项时,建议创建一个专门的build目录来存放编译输出文件。这样做的好处是保持源码目录的干净,如果需要重新编译,直接删除build目录即可。配置好build目录后,就可以开始编译了。不过要注意,由于版本兼容性问题,编译过程中可能会出现



被折叠的 条评论
为什么被折叠?



