如何使visualstudio2008IDE在合适的位置放置头文件.编译Qt/C++程序

How to make the visual studio 2008 IDE look at the right place for header files. Compiling Qt/C++ program

本文关键字:编译 文件 Qt 程序 C++ visualstudio2008IDE 何使 位置      更新时间:2023-10-16

我正在使用visual studio 2008在Qt 4.6.2上构建一个应用程序。我需要包括标题<QtGuiQDir>

问题:QDir标头包含多个标头。其中一个是qfile.h。现在ide/编译器无法包含这个文件,我得到的错误是这个

c: \devprojects\myprojects\nttoolkit\trunk\external\qt\include\qtcore..//src/corelib/io/qfile.h(45):致命错误C1083:无法打开包含文件:"Qt/include/QtCore/qiodevice.h":否这样的文件或目录

我无法更改文件qfile.h中的路径,因为它是我项目的外部文件。我该如何让它工作。

谢谢。

预处理器搜索包含文件的各个位置在此处的"备注"部分中进行了描述。

通常,对于像Qt这样的"SDK",人们会在"工具"|"选项"|"项目和解决方案"|"VC++目录"下更改他们的VC++目录、项目和选项,以便"包含文件"answers"库文件"列表包括合适的Qt目录。这样,当预处理器搜索Qt-include文件时,它会在正确的位置查找,当链接器查找.LIB文件时,也会找到它们。

更改这些列表的一个缺点是,它们适用于从该版本的Visual Studio构建的所有项目。如果你有不同的项目使用不同版本的SDK,这可能会让你头疼。在这种情况下,一种解决方案是创建名为INCLUDE和LIBPATH的环境变量,然后使用/useenv开关启动devenv,以覆盖"工具"|"选项"中的VC++目录设置。

最后,第三种选择是通过项目属性提供额外的include和库文件夹。在Project | Properties | C++| General中,第一个属性是"Additional Include Directories"。放置在那里的值通过/I开关传递给预处理器。类似地,Project|Properties|Linker|General选项卡有一个"Additional Library Directories"属性,该属性通过/LIBPATH开关传递给链接器。

第三个选项似乎很有吸引力,因为它允许您在逐个项目的基础上设置这些附加目录。缺点是它对项目中的一些目录名进行了"硬编码"。如果你把项目移到一台新机器上,Qt文件在不同的目录中,或者当你不得不把Qt目录移到不同的硬盘上时,这可能是一个真正的痛苦。

在VS2010中,我转到:

项目属性->VC++目录->包含目录

并设置包含我需要包含的头的目录的位置。我目前没有访问VS2008安装的权限,但我认为有类似的配置选项可用。