1
A
回答
5
号
通常你给编译器(或更具体地说,预处理器)一串包括目录,告诉它到哪里寻找头文件。这通常由Makefile完成(或者在IDE内部构建时从项目设置完成)。
该选项的外观当然是由每个编译器决定的。用gcc,it's the -I
option。
0
0
否除了上面提到的-I
编译器选项,您可以在#include指令的filename参数中使用(通常是相对)路径规范。
0
对于:
#include "header.h"
编译器(或更严格地,预处理器)将首先在包括源文件的文件夹中,然后通过在一些编译器相关的形式指定的文件的列表 - 通常命令行选项和/或环境变量。
对于:
#include <header.h>
的包括源的文件夹没有搜索,并且仅指定给编译器的路径列表中进行搜索。
GCC实际上有三个搜索组:
- 电流源文件路径
- 报价包括目录
- 系统包括目录
引头搜索的顺序所有的三个,而<header.h>
类型包含只搜索最后一个。并非所有的编译器都具有关于什么构成“系统包括”的具体内容,最后两个编译器没有区分并且以相同的方式指定。
您的编译器应该记录实际的行为,例如GCC,请参阅here。
相关问题
- 1. 的.h文件包含在头文件和cpp文件
- 2. 所有.cpp文件都依赖于两个.h文件?
- 3. 我应该在.cpp或.h文件中包含头文件?
- 4. 为什么CPP文件名必须与H文件名相符?
- 5. 必须将所有java类文件都归属于java包吗?
- 6. SVNSERVE - 所有存储库必须位于同一个父文件夹中吗?
- 7. 使用Mercurial时,所有文件都必须位于“存储库文件夹”中吗?
- 8. 每个.xib文件都必须有自己的.h和.m文件吗?
- 9. 在包含头文件中的差异.cpp和.h
- 10. 为什么.h文件中的.cpp文件中的所有变量都不是?
- 11. 自动包含vcproj中的文件夹的所有.cpp/.h文件Visual Studio中的项目
- 12. 如何看到VS由CPP文件中包含的所有头文件2008
- 13. 为什么头文件Head1.h不能包含一个包含Head1.h的头文件Head2.h?
- 14. C++ #ifndef用于包含文件,为什么所有头文件都用于头文件?
- 15. C++中的类(cpp文件&h文件)
- 16. 图像必须与组件放在同一个文件夹中?
- 17. 包含在多个.cpp文件中的头文件
- 18. 的Visual C++,组织的.h和.cpp文件中的文件夹
- 19. CPP | .h文件(C++)
- 20. 将包含头文件和cpp文件的源文件编译为一个巨大的cpp文件
- 21. 从文件夹中添加除文件夹之外的所有文件,但将其包含在后,位于Gulp
- 22. 基类包括.cpp文件头文件
- 23. cpp - 头文件包含错误
- 24. 不能包含在CPP文件头
- 25. C - 列出文件夹和所有子文件夹中包含的文件
- 26. 从文件夹和所有包含的子文件夹中删除txt文件
- 27. 包含所有其他头文件的单头文件?
- 28. 必须一个类中的所有头文件 - iOS5的
- 29. 如何列出包含头文件中的所有文件
- 30. 每个可执行文件都必须有一个ELF头文件?
谢谢。我挖掘一些挖掘并在CMakeFiles文件夹中找到一个“Target Directories.txt”文件。 –
在GCC中还有'-iquote'参见https://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html – Clifford