我正在尝试编译一个带有事件循环的最小Qt控制台应用程序和一个自定义类,其构造函数的内联定义如https://stackoverflow.com/a/4182144/1619432,并获得三个神秘的链接器错误(使用Qt 4.8.1和MSVC 2010 Express C ++) :
main.obj:-1: error: LNK2001: Unresolved external symbol ""public: virtual struct QMetaObject const * __thiscall ....
with :: metaObject,:: qt_metacast,:: qt_metacall。
答案 0 :(得分:0)
#include "main.moc"
在int main(...)上方是至关重要的。如果找不到该文件,请尝试清理项目/删除构建目录,运行qmake,重新启动Qt Creator甚至整个系统。 这可能与环境变量中的路径有关(可能先前由不同的项目设置)。
另一个常见的原因似乎是类声明中遗忘的Q_OBJECT宏,或者如上所述,在包含它之后运行qmake。
祝你好运!