最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

IT圈 admin 0浏览 0评论

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

1 问题提出

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

2 问题分析

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

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

#include “XXX.h”

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

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

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

3 问题解决

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

#include “resource.h”

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

1 问题提出

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

2 问题分析

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

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

#include “XXX.h”

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

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

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

3 问题解决

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

#include “resource.h”

发布评论

评论列表 (0)

  1. 暂无评论