Undeclared identifier error C2065 of definitions,明明在那里

Undeclared identifier error C2065 of definitions, that are clearly there

我正在处理多个项目,其中我在另一个项目中使用了一个项目的头文件。

现在我在 C/C++ 附加包含目录中添加了一个项目,但之后我得到了这个错误,声明都在 resource.h 文件中。

我的猜测是因为这两个项目都使用了 resource.h,这让他们感到困惑。 resource.h 个文件彼此不同。

所以,如果是这个问题,我该怎么做才能阻止它?

编辑:我会尝试做一个例子,因为我不能post这里的原始代码。

好的,我有 2 个项目:

MixedMfc:
<-file1. cpp
<-file2. cpp
<-file3. cpp

<-file1.h
<-file2.h
<-file3.h
<-resource.h

NativeCaller:
<-file4.cpp
<-file5.cpp
<-file6.cpp

<-file4.h
<-file5.h
<-file6.h
<-resource.h

每个头文件都有一个 #include "resource.h"(resource.h 文件除外)

第一个 resource.h 看起来像这样:

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.

第二个有一堆定义

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
#define VALUE1 1
#define VALUE2 2
#define VALUE3 3
#define VALUE4 4
#define VALUE5 5

谢谢

这个问题通常通过将更高级别的目录设置为Visual Studio包含目录,并包含

格式的文件来解决
#include "boost/lexical_cast.hpp"
#include "SFML/Graphics.hpp"

或者你的情况

#include "project1/resource.h"

#include "project2/resource.h"

或者您是否可以从项目中删除空 resource.h 并将其从文件系统中删除?