【发布时间】:2013-03-18 13:27:13
【问题描述】:
在“工作目录”中,我有很多 #include 彼此的 *.cpp 和 *.h 文件以及来自子目录的文件。
例如:
#include "first.h"
#include "second.h"
#include "dir1/third.h"
#include "dir2/fourth.h"
在我自己的目录(不同于“工作”目录)中,我想创建一个新的 *.cpp 和 *.h 文件,其中包括“工作”目录中的文件之一。例如:
#include "/root/workingdirectory/first.h"
但是,它不起作用。因为“first.h”可能包含“second.h”并且“second.h”不在我的目录中。有没有办法告诉编译器它需要搜索不在当前但在工作目录中的包含文件:/root/workingdirectory/?
为了更复杂,dir1 和 dir2 不在我的工作目录中。它们位于/root/workingdirectory2/。那么,我的第二个问题是,是否可以通过让编译器知道子目录位于其他地方来解决这个问题?
我还需要补充一点,我不使用任何环境进行开发和从命令行编译(使用g++)。
【问题讨论】:
-
有人投票以“不具建设性”的方式关闭?以何种方式“使用此选项,哦,并且有指向手册的链接”没有事实、参考资料或特定专业知识的支持,并且可能会引发辩论、争论、投票或扩展讨论?
-
问题的
-I部分肯定是RTFM,但首先正确使用#include指令是 语言问题(而一个OP 没有' t显然知道要问) -
人们阅读手册,他们尝试
-I,它似乎工作。他们似乎知道-I做了什么。然后很久以后它做了一些意想不到的事情。这就是为什么它真的不是一个 RTFM 问题。
标签: c++ include filesystems