我正在qtbase/example/widgets下构建analogClock(类AnalogClock:public QWidget)示例应用程序,但使用以下未定义的符号:_ZTV11AnalogClock...
我 objdump -t analogClock.exe试图找到谁引用了这个符号,但什么也没找到......
更多信息:只要类继承自 QWidget,并构造一个对象,那么就会有一个未定义的符号_ZTVXYYY,其中 X 是类名的长度,YYY 是类名。
那么,您能帮忙指出这个_ZTVXYYY符号是什么吗?以及如何避免这种情况?
这是由正确的 qmake 工具生成的生成文件引起的。
正如@thincal所说,如果Qt项目配置不正确,qmake将生成不正确的Makefile。
例如,如果我正在编写一个继承自 QWidget 的插件,我必须:
- 在类定义的顶部添加
Q_OBJECT
宏; - 在项目配置文件中添加
CONFIG += plugin
(带有.pro
后缀)。