2013-02-01 104 views
-1

我有一个文件包含在项目根目录中 - 比方说“root/libs/lib.h”。现在,这个文件本身包含了几个(实际上很多)文件。而且,它们都在另一个子目录中,可以说“root/libs/includes”。现在,我在写这个lib.h重新定义包含路径C++

#include "includes/file1.c" 
#include "includes/file2.c" 
/*and so on*/ 
#include "includes/file20.c" 

现在,那岂不是更方便,更灵活,如果我可以改变实际包含路径?

#set_include_path "includes"; 
#include "file1.c" 
/* ... */ 
#include "file20.c" 
#set_include_path ".."; //returning to original folder 

我相信这是编译器相关的功能,所以对于回复,也要提到编译器。我自己使用G ++。

+0

你问是否有编译器支持这个? –

回答

2

你想使用-I命令行参数:

g++ -Iincludes somefile.cpp ... 

欲了解更多信息,请参阅the reference

+0

那么,我不想通过参数传递我包含的文件...我想让它们保存在包含它们的文件中。 –

+2

@TomášZato在这种情况下,你无能为力。它可以是'-I'选项或者什么也不是。 –