我刚开始使用Qt进行开发,并且希望编译Qt 4.8.5随附的Qt网络聊天示例:http://qt-project.org/doc/qt-4.8/network-network-chat.html
我在VS 2012中工作,但在VS 2008中进行编译。我包括以下内容:
C:\Qt\4.8.5\include\Qt;
C:\Qt\4.8.5\include\QtUiTools;
C:\Qt\4.8.5\include;
C:\Qt\4.8.5\include\QtCore;
C:\Qt\4.8.5\include\QtGui;
C:\Qt\4.8.5\include\QtNetwork;
%(AdditionalIncludeDirectories)
我感觉在编译过程中缺少一些步骤,也许是生成ui_chatdialog.h文件的某些步骤?我无法弄清楚为什么该示例中缺少它,并且在我下载的Qt版本(4.8.5)随附的文件中不存在它。
这是我当前的输出:
>------ Rebuild All started: Project: QTChatExample, Configuration: Release Win32 ------
1> chatdialog.cpp
1>c:\users\dustin\documents\qtchatexample\src\chatdialog.h(44): fatal error C1083: Cannot open include file: 'ui_chatdialog.h': No such file or directory
1> client.cpp
1> connection.cpp
1> main.cpp
1>c:\users\dustin\documents\qtchatexample\src\chatdialog.h(44): fatal error C1083: Cannot open include file: 'ui_chatdialog.h': No such file or directory
1> peermanager.cpp
1> server.cpp
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
最佳答案
您需要运行uic为ui文件生成头文件
http://qt-project.org/doc/qt-4.8/uic.html
并且您还需要moc为诸如信号和插槽之类的东西生成源元对象代码。
http://qt-project.org/doc/qt-4.8/metaobjects.html
一种方法是对Visual Studio使用Qt插件。尽管您可以创建一个自定义构建步骤来执行moc,uic和资源编译器,也可以使用QMake或CMake来为您执行这些步骤。
http://qt-project.org/faq/answer/what_is_the_qt_visual_studio_add-in
由于您还标记了VS2012的这个问题,因此我将添加以下内容:
Is it possible to work with Qt4 projects in Visual Studio 2012 using add-ins?