我使用自动转换工具将我的VS 2012项目转换为VS 2015。当我尝试加载资源文件(.rc)时,它失败并显示以下错误:
致命错误RC1015:无法打开包含文件afxres.h
有什么想法吗?
答案 0 :(得分:15)
我在使用MFC
生成的Visual Studio 2010
的控制台应用程序中遇到了同样的问题。
一种解决方案是修改Visual Studio 2015
的安装以包含MFC
。默认情况下不会安装MFC
,因为它的大小。但在我看来,只有在您使用MFC
的应用程序时才应用此选项。
如果MFC
只需要afxres.h
,则可以替换
#include "afxres.h"
[...]
"#include ""afxres.h""\r\n"
与
#include "WinResrc.h"
[...]
"#include ""WinResrc.h""\r\n"
您可能需要添加(但在编译资源时会看到)。
#define IDC_STATIC -1
[...]
"#define IDC_STATIC -1""\r\n"
正如您在rc文件中看到的,其中一个部分是TEXTINCLUDE
。当Visual Studio
的资源编辑器打开rc文件并将其保存回光盘时,需要执行此部分并将文本放入标有“从TEXTINCLUDE [...]生成的”。因此,请注意更改至少TEXTINCLUDE
部分的两个位置,以便资源编辑器可以完成剩下的工作。
答案 1 :(得分:2)
您可能需要修改Visual Studio 2015安装程序并添加MFC。
请关闭VS2015并转到控制面板 - >程序和功能 - > Microsoft Visual Studio - >改变 - >修改 - >添加Microsoft基础类
见下图:
答案 2 :(得分:1)
我使用的是VS 2017,不需要安装MFC。您可以改为将标题更改为#include "winres.h"
。 #if
定义还有其他小的变化,因此我强烈建议您创建一个新的.rc
资源文件,并进行A / B比较以查看差异(不多)。我只是将旧的与新的进行了比较,并迁移了差异。