为什么VSCode不抱怨我的#include当我的路径不正确(不够./ in路径)



我有一些c++代码,其中在一个cpp文件中包含了一个头文件,如:

#include "../../../c/win/c_pp/include/abc.h"

现在我的文件abc.h实际上是在一个文件夹中,应该像这样命名(加上一个额外的../)):

#include "../../../../c/win/c_pp/include/abc.h"

奇怪的是:

没有文件abc.h. ./. ./. ./c/win/c_pp/include/但是VSCode没有抱怨并且编译得很好。我可以用任意一种方式。为什么会这样?

有多种可能性:

:

编译器以-I PATH或/I PATH的形式获得额外的参数。

我. .我想补充一下……到给定的include路径,因此转换

#include "../../../c/win/c_pp/include/abc.h"

#include "../../../../c/win/c_pp/include/abc.h"

因此正确访问正确的文件。

第二:

您似乎在windows上使用mingw或类似的工具链。如果正确的路径是"abc.h"在文件系统中是:"C: c_pp 赢得包括 abc.h"

用"…"(也就是父目录)不会改变它。

" ;../../../c/赢/c_pp/include/abc.h"是一样的吗 ;../../../../c/赢/c_pp/include/abc.h"

为"/c"或者C:没有父目录

glaure@Harr MSYS /c
$ cd /c/           

glaure@Harr MSYS /c
$ cd ..            

glaure@Harr MSYS / 
$ cd ..            

glaure@Harr MSYS / 
$                  

我希望这对你有帮助。

再见冈瑟