如何使visualstudio2008IDE在合适的位置放置头文件.编译Qt/C++程序
How to make the visual studio 2008 IDE look at the right place for header files. Compiling Qt/C++ program
我正在使用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安装的权限,但我认为有类似的配置选项可用。
- 使用 MEX 编译C++文件
- 获取 clang++:错误:在编译文件系统库的代码时
- 如何交叉编译C++文件
- 使用 MinGW 在 Windows 上的命令行编译C++文件
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 解析模板和范围后获取编译文件?
- 我的 PowerShell 脚本无法按预期工作(用于编译C++文件)
- 如何在不制作Visual Studio 2017项目的情况下编译C++文件?
- 'void *' 'void (*) (bool)' 指针使用 c ++ 编译器在 C 中编译文件的错误
- 在没有节点GYP的目标平台上编译C/C 文件
- 生成文件似乎以错误的顺序编译文件
- 编译 C++ 文件失败,因为找不到"ssize_t"的定义
- NeatBeans Makefile:麻烦编译.H文件
- 我无法编译文件系统库
- 在不使用预编译头C++项目中编译 C 文件
- 无法使用 Xcode 和终端在 Mac OS 上使用 OpenGL 库编译 c++ 文件
- 获取编译文件的列表,并由Make Project包含
- MinGW .h 编译文件不起作用:此文件的版本与您运行的 Windows 版本不兼容
- 编译 c++ 文件时出错:未定义的符号
- C++编译文件