0

我正在尝试让 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 来执行任何链接或编译或完成此操作所需的任何操作,我将永远感激不尽。

4

2 回答 2

0

这是使用 VS2010 编译 Qt 的链接。
http://thomasstockx.blogspot.in/2011/03/qt-472-in-visual-studio-2010.html
按照他说的所有步骤,可能这可以帮助您解决问题。谢谢,

于 2012-08-05T06:30:25.003 回答
0

如果您将 Q_OBJECT 添加到类中,请确保您运行qmake!我与 Creator 一起工作,但在尝试编译一些包含扩展 QObject 的类和 Q_OBJECT 宏的代码之前,我遇到了非常奇怪的错误,当我没有这样做时。

于 2012-08-05T21:55:11.247 回答