我正在尝试让 Qt 与 Visual Studio 2010 一起使用。我已经构建了一个可以在调试器中运行的工作程序。但是,当我尝试将 Q_OBJECT 宏添加到我的类时,它会生成一堆链接器错误。
1>------ Build started: Project: qt_poop, Configuration: Debug Win32 ------
1>Build started 2012/08/05 12:58:56.
1>InitializeBuildStatus:
1> Creating "Debug\qt_poop.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> GLViewer.cpp
1> Window.cpp
1> main.cpp
1> Generating Code...
1>Link:
1> LINK : c:\Users\abral\Documents\Visual Studio 2010\Projects\qt_poop\Win32\Debug\\qt_poop.exe not found or not built by the last incremental link; performing full link
1>GLViewer.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall GLViewer::metaObject(void)const " (?metaObject@GLViewer@@UBEPBUQMetaObject@@XZ)
1>GLViewer.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall GLViewer::qt_metacast(char const *)" (?qt_metacast@GLViewer@@UAEPAXPBD@Z)
1>GLViewer.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall GLViewer::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@GLViewer@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>c:\Users\abral\Documents\Visual Studio 2010\Projects\qt_poop\Win32\Debug\\qt_poop.exe : fatal error LNK1120: 3 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:07.50
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我已经看到其他人提出了一些类似的问题,这似乎与编译器和 moc 以及我的初学者大脑还不能完全理解的其他一些非常复杂的技术有关。此外,其中很多似乎面向使用命令行配置编译器的人,但我使用的是 VS,我真的很想保持这种方式(基本上我只想能够按下绿色箭头并查看我的程序 - 仅此而已)。所以......如果有人能以尽可能简单的方式向我解释如何配置 Visual Studio 来执行任何链接或编译或完成此操作所需的任何操作,我将永远感激不尽。