Qt常见编译问题

Qt在嵌入式开发中经常遇到没有头绪的错误提示,有的时候很难找到问题的所在,就我目前这两天遇到的问题做一个小总结,如下:

setdevinfraweb.o: In function `setDevInfraWeb::setDevInfraWeb()':
setdevinfraweb.cpp:(.text+0x38): undefined reference to `vtable for setDevInfraWeb'
setdevinfraweb.o: In function `setDevInfraWeb::~setDevInfraWeb()':
setdevinfraweb.cpp:(.text+0x58): undefined reference to `vtable for setDevInfraWeb'
setdevinfraweb.o: In function `setDevInfraWeb::~setDevInfraWeb()':
setdevinfraweb.cpp:(.text+0x80): undefined reference to `vtable for setDevInfraWeb'
setdevinfraweb.o: In function `setDevInfraWeb::run()':
setdevinfraweb.cpp:(.text+0x674): undefined reference to `setDevInfraWeb::setSensorStatus(unsigned int, unsigned char, unsigned char, unsigned char, unsigned long)'
collect2: ld returned 1 exit status

遇到这样的问题先查看一下你的.pro文件,是不是多包含了一个“.*cpp \”或“*.h” (我这里是setdevinfraweb.cpp),因为.pro文件决定着makefile文件的内容,它出错了当然编译不过去了。。

collect2: ld returned 1 exit status

还有的时候出现一个上面的提示我们一般会想到"是不是这个工程运行着呢?",当然还有一种情况看一看是不是有一个槽函数声明了,却没有去实现。

待续。。

原文地址:https://www.cnblogs.com/onlycxue/p/2819513.html