构建一个继承自QWidget但仍未定义_ZTVXYYY的类

时间:2012-05-28 07:26:22

标签: gcc qt5

我正在qtbase / example / widgets下构建analogClock(类AnalogClock:public QWidget)示例应用程序,但是带有以下未定义的符号:_ZTV11AnalogClock ...

我objdump -t analogClock.exe尝试查找谁引用此符号,但没有找到...

更多信息: 只要该类继承自QWidget并构造一个对象,就会有一个未定义的符号_ZTVXYYY,其中X是类名的长度,YYY是类名。

你也可以帮助指出这个_ZTVXYYY符号是什么? 以及如何避免这种情况?

2 个答案:

答案 0 :(得分:1)

由Makefile生成的文件不是由正确的qmake工具生成的。

答案 1 :(得分:0)

就像@thincal所说的那样,如果Qt项目配置不正确,qmake将会生成不正确的Makefile。

例如,如果我要编写从QWidget继承的PLUGIN,则必须:

  • 在类定义的顶部添加{ weird-field: 621 } 宏;
  • 在项目配置文件中添加Q_OBJECT(后缀为CONFIG += plugin)。