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