【问题标题】:using header files from another project (directory)使用来自另一个项目(目录)的头文件
【发布时间】:2009-07-12 20:00:51
【问题描述】:

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

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

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

谁能帮帮我,我被困住了,因为我需要调试......

【问题讨论】:

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


    【解决方案1】:

    在"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”在“附加包含目录”中。

    【讨论】:

    • 我的标头在“D:\tool\src\cpp”目录中,这是我在“附加包含”目录中添加的目录。我还尝试将“rcobject.h”和不是“tools/rcobject.h”,但它不起作用。我还有 11 个其他这样的头文件需要使用。
    • 他说他使用了 C/C++ 常规属性面板,它是否包含工具目录的设置?我认为您正在考虑全局 VS 目录设置,但也许我错了,我无法从我输入的位置访问 VS2008。 :) 问候,塞巴斯蒂安
    【解决方案2】:

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

    问候,

    塞巴斯蒂安

    【讨论】:

      猜你喜欢
      • 2011-11-26
      • 1970-01-01
      • 2013-04-05
      • 2013-10-18
      • 2014-03-17
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 2013-05-03
      相关资源
      最近更新 更多