我遇到了问题,这对我来说很难应付。我搜索了所有可能的网站并尝试了很多动作,花了将近10个小时,但问题仍然存在。
问题描述:
我使用visual studio 2010.我安装了Qt库:Qt库4.8.1 for Windows(VS 2010,235 MB)也安装了Qt visual studio添加。
我记得我在cmd行输入了一些内容(包括envoirement变量),文件是在堆栈溢出中给出的(现在我丢失了链接到那个主题但找不到它)。
所以我设置了Qt库并且它有效。我无意中安装了visual studio 2008,并开始出现问题
以前我能够包含Qt标题,如:
#include <QtCore>
#include <QtGui>
但现在我必须指定像
这样的完整路径#include<QtCore\...>
和QtCore显示为文件夹,而不是之前。这对我来说非常不方便。
所以请告诉我,要解决这个问题(不需要指定Qt头的完整路径)。 我将非常感激!
答案 0 :(得分:2)
您只需要在include dirs中添加一些目录
$(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 for headers without .h以了解标题和智能感知
答案 1 :(得分:1)
您可能会发现有关从源代码安装Qt的this walkthrough非常有帮助。这是我多年来一直使用Visual Studio安装Qt的方式,我从来没有遇到任何问题,包括你提到的问题。
您使用qmake生成.sln吗?也许你可以对你的安装过程提供更多的见解,也许我(或其他人)可以提供更多的帮助。
此外,我个人发现QtWizard2010是一种在Visual Studio中生成Qt项目的非常直接且完善的方法。也许这可能会有所帮助。