在“工作目录”中,我有很多#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++
)。