我有一些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 /
$
我希望这对你有帮助。
再见冈瑟