【嵌入式Linux应用开发】2. 初步移植MQTT到Ubuntu和Linux开发板

提示的订阅失败,你订阅的topic有问题吧

老师,那这个是因为定义的topic的问题吗?我把topic前面的改成过username还有clientid前面的那一部分,都是显示订阅失败

阿里云的topic不是长这样吗:
image

你把那个“${deviceName}”替换成你的设备名
我看你贴的图不是这个格式的


出现了这样的问题。请问如何解决?

看着像是你编译mqtt库的时候,不是用的arm-gcc编译的,你之前用的是gcc编译的吧?



老师您好,这个问题时编译链的问题吗?设置了这个文档的编译链了

大佬,请问你这个问题解决了吗?我和你碰到了一样的问题

这个提示说mqtt的那个库文件已存在,你可以试试clean之后在make看看

对,我之前是用gcc编译的(疏忽了)。我执行了make clean指令(我把整个目录都删了,然后再make一下),但是还是解决不了,这到底是怎么回事???刚才又出了问题,去掉arm的前缀只留下gcc就可以了,要怎么解决呢???

老师,我把lib里面的mqtt的有关文件删了,然后重新make,可以通过了;但是编译mqtt_test出现了问题;谢谢老师周五下午还帮忙解答

修改makefile:

在这里make文件


这是怎么回事啊???

就,你make后,编译出来的库文件,还要安装到你arm-gcc那个交叉编译环境的库里面去

从你的提示看,你安装到arm-gcc的库应该还是之前gcc编译出来的mqtt库
你得把arm-gcc里面的之前gcc编译的mqtt库给替换掉。替换成你用arm-gcc编译出来的mqtt库

老师,我没理解到这个步骤;是吧

这些.so文件安装到创建的man/man1文件里面吗

你就根据这个帖子的第五步重新做一遍吧
你要用arm-gcc编译你的mqtt程序,使用的mqtt库也要是mqtt编译出来的才行
arm-gcc查询库文件不是在你make出来的那个路径下找的,是在arm-gcc指定的库文件路径中查找的。

老师;我把以前make的文件什么的全都删了;然后再按照第五步从头开始弄;最后在mqtt_test中编译还是和以前一样

你是要把ubuntu里的这个路径下的lib文件夹里的所有mqtt的库都删掉,然后去重新做第五步


老师麻烦您先帮我看一下这样时删完了嘛,不敢乱删,只删了带mqtt的文件;我去再试一遍

重新过了一遍,在最后mqtt_test编译失败了;

,这个编译工具链路径好像和文档里的不一样;会有影响吗

为什么你的路径里面既有6ull的又有mp157的?你用的啥板子就用哪个sdk,不要照抄哦