2014-06-06 177 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。如果你这样做,然后把所有的头文件放在一个独立的子子导向器中,并且有一个头文件包含所有这些文件。在你的代码中使用顶级头文件。

相关问题