【发布时间】:2012-05-28 09:17:48
【问题描述】:
我已经进行了一些搜索,并在 C++ 中包含头文件的正确方法上找到了类似的线程,但他们都没有完全回答这个问题。
我知道要将头文件包含在另一个文件夹中,您可以简单地使用以下语法:
#include "../myFolder/myFile.h"
但是当文件位于不同的目录结构中时会发生什么? 例如,如果以下内容保证为真:
当前目录=/f1/f2/f3/f4/f5/myFile.cpp
所需的头目录=/f1/d2/d3/d4/d5/d6/myHeader.h
我知道您可以设置“附加包含目录”属性或使用 make 文件,但我想知道是否有办法从 #include 语句中做到这一点。
【问题讨论】:
-
您显然可以将整个相对或绝对路径放在您的 include 语句中(我不建议这样做),但我怀疑您正在寻找更紧凑的东西?
-
感谢您的评论!我正在寻找是否有办法做到这一点并且仍然让它是相对的,因此目录结构中 f1 (在此示例中)之上的内容无关紧要。
-
嗯,你可以把“..”串在一起,例如
#include ../../../../../../f2/f3/f4/f5/myFile.cpp太丑了,我马上就后悔打字了。我建议在 makefile 中设置包含路径。 -
为什么人们这么快就忽略了显而易见的解决方案? “其他包含目录”可用是有原因的 - 使用它。
标签: c++ directory header-files