使用来自另一个项目(目录)的头文件

时间:2009-07-12 20:00:52

标签: c++ visual-studio-2008 header-files

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

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

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

有人可以帮助我吗,我因为需要调试而陷入困境......

2 个答案:

答案 0 :(得分:3)

在“其他包含”目录中“,您是否将路径放到”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”在“其他包含目录”中。

答案 1 :(得分:0)

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

此致

Sebastiaan