编译一个简单的Qt"Hello World!" Visual Studio 2010 Express中的应用程序?

Evi*_*ork 5 qt visual-studio-2010 visual-studio-express

我正在尝试建立一个基本的Qt"Hello,world!" Visual Studio中的应用程序.

我开始moc工作(我认为),但现在我不知道如何解决这个链接器错误:

1>moc_mainwindow.obj : error LNK2001: unresolved external symbol "public:
static struct QMetaObject const QMainWindow::staticMetaObject"
(?staticMetaObject@QMainWindow@@2UQMetaObject@@B)
Run Code Online (Sandbox Code Playgroud)

我做了很多搜索,但我不知所措.

这是我的包含目录:

  • i:\Qt\4.6.3\include\QtCore;
  • i:\Qt\4.6.3\include\QtGui;
  • i:\Qt\4.6.3\include;
  • i:\Qt\4.6.3\include\ActiveQt;
  • reease;
  • .;
  • i:\Qt\4.6.3\mkspecs\win32-msvc2008

这是我链接的库:

  • i:\Qt\4.6.3\lib\QtGui4.lib;
  • i:\Qt\4.6.3\lib\QtCore4.lib;
  • gdi32.lib;
  • comdlg32.lib;
  • oleaut32.lib;
  • imm32.lib;
  • winmm.lib;
  • winspool.lib;
  • ws2_32.lib;
  • ole32.lib;
  • user32.lib;
  • advapi32.lib;
  • libpng.lib;
  • msimg32.lib;
  • shell32.lib;
  • kernel32.lib;
  • uuid.lib;

有没有人有任何想法?

jol*_*yon 6

qmake将从.pro文件中的头文件生成moc voodoo.由于你没有使用qmake,但它是一个原生的视觉工作室项目,这可能是问题的原因.

如果你使用qmake来生成你的视觉工作室项目,你所有的问题都将消失,生活将变得甜蜜.大概!

我正在使用开放的2010.05; 显然你想用你的版本替换正确的路径.

建立环境

从开始菜单启动2010命令环境
-set include =%include%; C:\ Qt\2010.05\qt\include
-set lib =%lib%; C:\ Qt\2010.05\qt\lib -set path =%path %; C:\ Qt\2010.05\qt\bin
-set QMAKESPEC = win32-msvc2010

编写代码,创建文件等

生成初始的pro和makefile并启动VS
-qmake -tp vc
-qmake

你现在应该有一个makefile - 通过运行来检查它是否有效:
-nmake

现在启动visual studio
-VCExpress.exe/useenv
-XXX.vcxproj现在可以打开了

如果这不起作用,您可能需要针对visual studio构建qt.这非常简单 - 转到qt目录(从visual studio express命令窗口中)并键入:

configure.exe -platform win32-msvc2010 -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -no-qt3support -fast
Run Code Online (Sandbox Code Playgroud)