某些头文件出现在/src/dir1/
(例如:a.h
,b.h
,c.h
等)。我的源文件存在于/src/dir2/file.cpp
。我使用了/src/dir1/
中存在的一些头文件,但在编译过程中出现了像header file not found
这样的错误。c/C++:找不到头文件
然后我改变了像#include "../src/dir1/a.h"
这样的包含路径,然后错误消失了file.cpp
,但是我在/src/dir1
的头文件中出现了not found
错误。因为我包含头文件say a.h
,a.h
包含一些其他头文件,出现在/src/dir1/
(说b.h
和c.h
存在于a.h
)。
如何在/src/dir2/file.cpp
中添加头文件(a.h
),以便它不应该要求修改存在于/src/dir1/
中的头文件中的包含路径?
注意:我正在使用scons
来构建。
你需要''include“../ dir1/a.h”或'#include“../ .. src/dir1/a.h”'来找到文件。但是在包含路径中嵌入'..'是一个坏主意(就像使用绝对路径名一样)。编译时使用#include“a.h”或'#include“dir1/a.h”'和适当的'-I'命令行选项。 –