MFC扩展DLL添加对话框资源时对话框ID是“未声明标识符”

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hou09tian/article/details/72717002

1 问题提出

MFC扩展DLL中添加对话框资源后,为该对话框资源添加对应的类之后,编译程序会显示error C2065: IDD_DIALOG1:未声明的标识符”,其中IDD_DIALOG1是添加的对话框资源ID

2 问题分析

2.1 MFC应用程序中没有出现该错误提示的原因

诸如IDD_DIALOG1此类对话框资源IDresource.h中定义。在MFC应用程序中添加对话框资源并为该资源添加对应的类之后,类向导会在该类的头文件中自动包含应用程序的头文件:

#include “XXX.h”

其中,XXXMFC应用程序的名称,在XXX.h中包含了resource.h头文件。

2.2 MFC扩展DLL程序中出现该问题的原因

但是在MFC扩展DLL的项目中,不包含XXX.h,因此,类向导不会在新添加的对话框类的头文件中添加XXX.h,即该对话框类没有包含resource.h头文件。

3 问题解决

此时必须手动在对话框类头文件中包含resource.h头文件。

#include “resource.h”

展开阅读全文

没有更多推荐了,返回首页