2013-02-01 121 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'選項或者什麼也不是。 –