使用git进行项目管理时,MFC工程偶尔会出现无法打开资源视图的情况,具体表现为:
在vs内打开MFC项目的资源视图时,一直转圈加载直至未响应
大部分情况都是多人开发均涉及到界面改动时,git对资源文件(项目名.rc和resource.h)的自动合并出现了问题,目前主要遇到的原因如下:
1、.rc文件内,窗口控件的begin和end的不匹配
原因多样,有可能是git识别漏了,也可能是手动解决冲突时遗漏,下为缺失END的示例
IDD_DLG_A DIALOGEX 0, 0, 359, 183
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
PUSHBUTTON "Import",IDC_BUT_IMPORTWORK,16,19,36,14
PUSHBUTTON "Edit",IDC_BUT_EDIT_PRINT,54,19,36,14
//此处缺失END
IDD_DLG_B DIALOGEX 0, 0, 270, 103
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
END
2、resource.h文件内,同一个窗口或控件名称重定义
多出现在不同开发人员对不同的窗口或不同窗口的内部控件命名重复
#define IDC_A 1000
#define IDC_B 1001
#define IDC_C 1002
#define IDC_D 1003
#define IDC_A 1004 // IDC_A重定义了