资源 (.rc) 文件包含标头忽略 Visual Studio 项目包含路径

Posted

技术标签:

【中文标题】资源 (.rc) 文件包含标头忽略 Visual Studio 项目包含路径【英文标题】:resource (.rc) file include header ignores visual studio project include paths 【发布时间】:2012-09-11 10:23:35 【问题描述】:

我正在尝试在资源文件 (.rc) 中包含头文件。 路径类似于"folder_a/sub_folder_b/file_name.h"

folder_a所在的文件夹包含在项目的c++包含目录中。

当我在同一个项目的 .cpp 文件中编写相同的 #include 指令时,它可以正确编译,但是对于 .rc 文件,VS 找不到头文件。

在源代码编辑器窗口中,当我右键单击#include 指令并选择“打开文档”时,弹出错误指出它找不到文件,显示它搜索文件但项目包含的路径路径不显示。

如果我对 .cpp 文件中的虚拟 #include 执行相同操作(同样是同一项目),所有路径都会显示在错误消息中。

我的结论是 VC++ 不使用项目中为 .rc 文件中的 #include 指令定义的包含目录。

这是真的吗?如果不是 - 我做错了什么?如果是 - 有办法解决吗?

我试图避免:

#include "../../../parent_folder/folder_a/sub_folder_b/file_name.h"

但如果需要,我会这样做。

【问题讨论】:

项目 + 属性、资源、常规、“其他包含目录”设置。 @HansPassant - 谢谢!我怎么没看到这个?请将其发布为答案,以便我接受。顺便说一句,您知道为什么它与源包含文件夹分开吗? 认为这个链接会对你有所帮助。 How to: Specify Include Directories for Resources 【参考方案1】:

添加文件路径

Project Properties->Resources->Additional Include Directories: ../../../parent_folder/folder_a/sub_folder_b

【讨论】:

除了你不需要那里的文件名,而不是在 C/C++ 下

以上是关于资源 (.rc) 文件包含标头忽略 Visual Studio 项目包含路径的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 2012 中,如何将资源文件 (.rc) 与 c ++ dll 链接

(Visual Studio)如何从我的解决方案外部使用googletest libs和标头?

Visual Studio 不再打开我的项目 RC 文件

如何阻止 Visual C++ 在 MFC .rc 文件生成中使用本地机器区域设置?

Chrome 会忽略 ETag 标头,只使用内存缓存/磁盘缓存

.cpp 文件中的 Visual Studio 2015 IntelliSense #included 作为标头