error C2065: “IDD_DIALOG1”: 未声明的标识符

分类: VC 中常见BUG 小菜 2011-08-18 18:22 634人阅读 评论(1) 收藏 举报

  在VC 中编译工程时候,经常会出现 error C2065: “IDD_DIALOG1”: 未声明的标识符的错误。(⊙o⊙)…,明明定义了却说没定义。

有时候还可能会出现一大堆 

                   error C2065: “IDD_DIALOG1”:

                   error C2065: “IDD_DIALOG2”:

                   error C2065: “IDD_DIALOG3”:

                   error C2065: “IDD_DIALOG4”:

                   error:……………………………

烦人啦,明明定义了,resources.h文件都可以找到。这是神马原因呢?

网上一些解决方法这里就不说了,有另一种情况,分析下:

   可能你在工程里面定义了一个新类:如CAuthority      这个类不是从MFC框架中派生而来,是一个完全独立的一个新类(它有头文件:Authority.h 和实现文件:Authority.cpp)。

然后问题就可能出现了,你可能在这个新类中需要用到 IDD_DIALOG1关联的那个类 ,这里叫做 CMyDilalog (它有头文件:MyDialog.h 和实现文件:MyDialog.cpp)

Authority.cpp 的头文件包含如下:

问题就出现了,错误如下:

               error C2065: “IDD_DIALOG1”:

这里发生错误的原因是没有把工程文件的头文件包含进去。

如果工程名为:xxx

则应该改为如下:

现在编译就通过了。

具体原因我也不太清楚,哪位大神可以告诉我……

转载:http://blog.sina.com.cn/s/blog_8875698e01012exr.html

原文地址:https://www.cnblogs.com/wainiwann/p/4533781.html