3

我正在使用 Visual Studio 2008,我需要使用来自另一个项目的某些头文件。我试图在 C/C++ 常规属性窗格的“其他包含目录”中添加路径,但我的项目仍然出现相同的错误

(fatal error C1083: Cannot open include file: 'tools/rcobject.h'.

我正在使用的所有其他 cpp 和头文件都是作为现有文件从另一个目录添加的,对于某些头文件,它会发出错误,而对于其他头文件则不会。添加其他包含目录后,错误没有变化。

有人可以帮助我吗,我被困住了,因为我需要调试...

4

2 回答 2

3

在"Additional Include "Directories"中,你是​​放了"tools"目录的路径,还是包含"tools"目录的那个目录的路径?必须是后者。

预处理器如何工作以解析#include指令,是采用指定的路径#include,然后将其附加到“附加包含目录”中指定的每个路径(以及项目特定的其他一些地方)。因此,您需要确保“附加包含目录”中指定的路径加上您提供#include的路径与您尝试包含的文件的路径完全匹配。

例如,假设您有以下要包含的文件:

c:\blah\bletch\foo\bar.txt

然后你这样做了:

#include "bar.txt"

然后您需要确保“c:\blah\bletch\foo”在“附加包含目录”中。

或者,如果您这样做了:

#include "foo\bar.txt"

然后您需要确保“c:\blah\bletch”在“附加包含目录”中。

于 2009-07-12T20:07:19.463 回答
0

启用构建日志(我不知道它在哪里,应该不难找到)并查看您指定的路径是否出现在编译器命令行中。如果不是,你可能做错了什么。使用额外的包含目录应该可以工作。只需确保您使用了正确的目录分隔符并在正确的配置(发布/调试)下填写它们。

问候,

塞巴斯蒂安

于 2009-07-12T20:08:20.320 回答