我正在使用Visual Studio 2008,我需要使用其他项目中的某些头文件。我试图在C / C ++常规属性窗格中的“附加包含目录”中添加路径,但我的项目仍然会发出相同的错误
(fatal error C1083: Cannot open include file: 'tools/rcobject.h'.
我正在使用的所有其他cpp和头文件我作为来自另一个目录的现有文件添加,对于某些头文件它会发出错误,而对于其他文件则不会。添加其他包含目录后,错误没有变化。
有人可以帮助我吗,我因为需要调试而陷入困境......
答案 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