0

我正在尝试编译一个带有事件循环的最小 Qt 控制台应用程序和一个具有其构造函数的内联定义的自定义类,如https://stackoverflow.com/a/4182144/1619432并得到三个神秘的链接器错误(使用 Qt 4.8.1 和MSVC 2010 速成 C++):

main.obj:-1: error: LNK2001: Unresolved external symbol ""public: virtual struct QMetaObject const * __thiscall ....

与::metaObject、::qt_metacast、::qt_metacall。

4

1 回答 1

0
#include "main.moc"

就在 int main(...) 之上是至关重要的。如果找不到该文件,请尝试清理项目/删除构建目录、运行 qmake、重新启动 Qt Creator 甚至整个系统。这可能与环境变量中的路径有关(可能之前由不同的项目设置)。

另一个常见的原因似乎是在类声明中忘记了 Q_OBJECT 宏,或者如上,在包含它之后运行 qmake。

祝你好运!

于 2013-07-04T09:47:51.833 回答