0

我是使用 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 ==========
4

1 回答 1

2

您需要运行 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 标记了此问题,因此我将添加以下内容:

是否可以使用插件在 Visual Studio 2012 中使用 Qt4 项目?

于 2013-08-28T20:49:56.473 回答