我有一个奇怪的错误 C1083(无法获取头文件)。我读过其他 C1083 帖子,但我认为我的帖子有所不同:
1) 头文件添加到我的项目属性中的附加包含属性下。
2) 另一个类使用相同的头文件(相同的项目),并编译。在我将我的头文件添加到第二个头文件之前,问题不会发生。
3) 我使用自动完成/intellesense 制作一个“..\include\myClass.h”文件。一个建议是我使用了错误的路径,但所有内容都在同一个目录中。反正我试过了。
所有文件都在同一目录中,并且该目录包含在附加包含属性中。
本质上,项目的一部分看到了它,而另一部分却看不到?我不知道我错过了什么。
最佳答案
如果目标“include”目录被添加到“additiona includes”项目属性,那么您实际上根本不需要该路径。
我的意思是,拥有:
\myFolder\project
\project.vcproj
\source
\myCode.cpp <- compiling this one here?
\data
\myDb.foo
\include <- this DIR#1
\foo1.h
\myClass.h <- this FILE#1
\foo2.h
\lib1
\bar.h <- this FILE#2
如果您将 DIR#1 添加到“附加包含目录”,则:
#include "myClass.h" // to include FILE#1
#include "lib1\bar.h" // to include FILE#2
应该足够了。
如果您没有在此处添加路径,则以下应该有效:
#include "include\myClass.h" // to include FILE#1
#include "include\lib1\bar.h" // to include FILE#2
如果您添加了路径,但第一个不起作用,但第二个起作用,那么您添加的路径不正确 - 绝对确保文件/文件夹结构确实与您认为的相同。此外,如果您向项目添加了相对路径,请尝试将其更改为绝对路径。
关于c++ - C1083 : Cannot open include file: . .. : No such file or directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27511578/