Visual Studio 2015资源视图和资源编译器使用不同的方法在项目目录中查找图标文件.如何修复



我开发MFC C++项目。

资源视图(视图->资源视图(添加相对于.rc文件位置的图标文件(.rc文件上下文菜单中的"添加资源"(,但资源编译器(rc.exe(试图编译相对于项目目录的.rc文件。

我的.rc文件位于项目目录中的子目录中,由于历史原因和大量代码,我无法将其移动到项目目录中。是强制rc.exe查找相对指定目录的图标文件,还是使资源视图使用相对项目目录的路径?

我不能使用绝对路径,因为许多开发人员都在这个项目上工作,而且它已经映射到他们的hdd上的不同目录。

示例目录结构:

Main->
Res->
Icons->
icon1.ico
app.rc

app.rc:

IDI_ICON1 ICON "Icons\icon1.ico"

但在编译过程中,rc.exe显示错误:

error RC2135: file not found: Iconsicon1.ico

当我修复它时:

IDI_ICON1 ICON "Res\Icons\icon1.ico"

然后rc.exe成功编译了它,但资源视图无法打开app.rc进行编辑(添加图标、编辑对话框等(,错误为:

error RC2135: file not found: Res\Icons\icon1.ico

非常感谢您的帮助。

我刚刚发现app.rc被排除在构建之外,但它是使用#include包含在根项目目录(main(中的main.rc文件中的。所以当rc.exe试图编译main.rc文件时,它无法理解图标位于相对于incuded app.rc的子目录中。在我修复它之后(从main.rc中删除了"#include"app.rc",将app.rc返回到构建过程中(-项目构建得很好(不需要添加额外的图标路径(。

最新更新