2014-06-06 45 views
0

我有一個Qt C++項目,其中的文件被分爲多個目錄。在子目錄中包含路徑

/ 
| 
|-- dir1/ 
| | 
| |-- toInclude1.h 
| | 
| |-- toInclude2.h 
| 
|-- dir2/ 
| | 
| |-- toInclude1.h 
| | 
| |-- toInclude2.h 
| 
|-- main.cpp 

我知道,當我想在文件main.cpp例如以包括toInclude1.h我只是寫

#include "dir1/toInclude1.h" 

但是,如果我想在toInclude2.h同一個文件,我可以寫任何

#include "dir1/toInclude1.h" 

#include "toInclude1.h" 

對我來說,這似乎是一個很好的歧義來源,當有更多的頭文件具有相同的名稱,但在不同的路徑。

所以我的問題是,在我的情況下,後者應該使用哪一個?

+1

_'對我來說這似乎是一個很好的歧義來源'_你應該使用最不明確的方式,即提供一個'-I '指向頂級目錄並完全指定相對於這個在你的'#include'指令中。 –

回答

0

不,你真的不應該在頭文件中加入#include。如果你這樣做,然後把所有的頭文件放在一個獨立的子子導向器中,並且有一個頭文件包含所有這些文件。在你的代碼中使用頂級頭文件。

相關問題