1

我遇到了问题,这对我来说很难应付。我搜索了所有可能的站点并尝试了很多操作并花了将近 10 个小时,但问题仍然存在。

问题描述:

我使用 Visual Studio 2010。我安装了 Qt 库:Qt 库 4.8.1 for Windows(VS 2010,235 MB)还安装了 Qt Visual Studio 插件。
我记得我在 cmd 行中输入了一些东西(包括环境变量),文本是在堆栈溢出中给出(现在我失去了该主题的链接并且找不到它)。
所以我设置了 Qt 库并且它起作用了。不小心我安装了visual studio 2008,问题开始了。
以前我能够包含 Qt 标头,例如:

#include <QtCore>
#include <QtGui>

但现在我必须指定完整路径

#include<QtCore\...>

QtCore 显示为文件夹,这是以前没有的。这对我来说非常不方便。

所以请告诉我,这样做可以解决这个问题(无需指定 Qt 标头的完整路径)。我将不胜感激!

4

2 回答 2

3

您只需要在包含目录中添加更多目录

$(QTDIR)\include
$(QTDIR)\include\QtGui
$(QTDIR)\include\Qtcore
$(QTDIR)\include\QtOpenGL

但并不奇怪$(QTDIR)\include\Qt!如果您收到有关直接包含的警告,请检查您没有include\Qt在列表中

如果您使用 VS2010 插件创建项目,它将为您添加这些目录


编辑:评论有点长,所以我会尝试解释。

顶层$(QTDIR)\include没有任何包含文件 (.h),但它是必需的,因此其他包含可以使用与此相关的路径,例如#include <QtCore/QtCore>

Qt 出于他们自己最熟悉的原因(但可能是由于漫长的冬夜和使用 Aquavit)使用没有 .h 扩展名的包含文件作为模块的主包含文件,然后将其放在具有相同名称的目录中。

因此,您添加$(QTDIR)\include\QtGui到包含路径列表,然后#include <GtGui>从其中添加,这将依次为所有 gui 函数加载所有 100 个单独的 .h 文件。

预处理器忽略文件和目录具有相同名称的事实 - 它知道不要尝试包含目录。

提示:请参阅Visual Studio intellisense 以获取不带 .h的标头以处理标头和 intellisense

于 2012-05-07T03:08:35.657 回答
1

您可能会发现这个关于从源代码安装 Qt 的演练非常有帮助。这是我多年来一直使用 Visual Studio 安装 Qt 的方式,我从未遇到任何问题,包括您提到的问题。

您是否使用 qmake 生成您的 .sln?也许您可以对您的安装过程提供更多见解,也许我(或其他人)可以提供更多帮助。

此外,我个人认为QtWizard2010是一种在 Visual Studio 中生成 Qt 项目的非常简单且集成良好的方式。也许在这里可能会有所帮助。

于 2012-05-07T02:38:35.617 回答