1. 程式人生 > >MFC擴充套件DLL新增對話方塊資源時對話方塊ID是“未宣告識別符號”

MFC擴充套件DLL新增對話方塊資源時對話方塊ID是“未宣告識別符號”

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”