我正在处理一个更大的项目,并且许多.cpp文件包含位于不同目录中的文件,但是没有引用访问代码中的其他目录。
感谢您的帮助。
答案 0 :(得分:5)
没有
通常你给编译器(或更具体地说,预处理器)一堆包含目录,告诉它在哪里查找头文件。这通常是从Makefile(或在IDE中构建时从项目设置)完成的。
该选项的确切外观当然取决于每个编译器。使用gcc,it's the -I
option。
答案 1 :(得分:0)
就我而言,你可以将.h和.cpp文件放在不同的目录中。假设您有一个标题文件夹和一个.cpps文件夹。在你的cpp文件中你只需#include“headers / myheader.h”并且应该完美无缺。
答案 2 :(得分:0)
没有。除了提到的-I
编译器选项之外,您还可以在#include指令的filename参数中使用(通常是相对的)path-spec。
答案 3 :(得分:0)
有关:
#include "header.h"
编译器(或更严格地说是预处理器)将首先查看包含源文件的文件夹,然后查看以某些编译器相关形式指定的文件列表 - 通常是命令行选项和/或环境变量。 / p>
有关:
#include <header.h>
不搜索包含源文件夹,只搜索指定给编译器的路径列表。
GCC实际上有三个搜索组:
引用标题按顺序搜索所有三个,而<header.h>
类型包含只搜索最后一个。并非所有的编译器都是关于什么构成“系统包含”的具体内容,并且最后两个没有区分并且以相同的方式指定。
您的编译器应记录实际行为,例如,请参阅here。