本文介绍了当遇到编译器提示找不到标识符的情况时,可能是由于控件ID名修改后未同步到resource.h文件中导致的问题。文章提供了具体的解决步骤:首先确认是否已包含resource.h头文件,然后检查并修改重复的控件ID。
摘要生成于
,由 DeepSeek-R1 满血版支持,
MFC
项目中经常会发现的错误是“
未定义
的
标识符
”?
解决办法,我们找到resource.h这个文件,
问题
的原因大多是因为编译器在你的这个头文件中找不到这个
标识符
,因为你没包含该文件,有可能你生成的控件ID名修改之后还未在resourc.h中编号更新,这时你打开该文件之后,在该文件中找到修改后的控件,你会发现可能出现如下情况:
#define IDC_Button 1006
#define IDC_...
解决方法:
1、看源程序开头有无包含头文件#include “resource.h”,若无,则写上
2、打开resource.h文件,找到修改的控件,看id是否与你修改的显示一致,若不一致,则手动修改。
3、若上述都是正确的,就把vs关掉,重启。报错自然就会消失。
若此文章有帮助到你,请给个赞。谢谢支持~~
首先,刚开始资源视图打开后,显示加载失败 后面大家可以查https
:
//docs.microsoft.com/en-us/previous-versions/windows/embedded/ms932119(v=msdn.10)?redirectedfrom=MSDN
这个文档,查找对应的错误序号,我当时是 The character was found immediately following the name of the macro. 后面只需要把项目的名称改为英文字母就可以(项目名不能用中文,
1 IntelliSense
:
未定义
标识符
"CDatabase" d
:
\惯导烧录信息化\新需求的烧录软件\INS_Burn\INS_Burn\Inquire.cpp 129 2 INS_Burn
1、忽视,继续编译,这不会影响编译过程,等下次重启了VS之后,错误会自动消除。原因是生成的控件ID名修改之后在resource.h中的编号还未更新成功。
2、打开resource.h,更改该控件ID的编号,使其不同于其他控件的编号即可。
添加了一个edit control,修改它的ID为EDIT_FILE_IN,又通过类向导,添加了和其相关联的控件变量m_editFileIn,结果程序自己加的这部分代码
DDX_Control(pDX, EDIT_FILE_IN, m_editFileIn);
出错,提示“
未定义
的
标识符
EDIT_FILE_IN”
解决方法,DDX_Control所在的cpp中,添加头文件resou
问题
提出:
mfc
扩展Dll程序中,新建了一个对话框IDD_DIALOG 1及三个文本编辑控件IDC_SIGM,、IDC_RATIOLOW和IDC_RATIOHIGH。并新建了一个对话框类(派生于CDialog类)。有关控件引用的代码如下:
enum { IDD = IDD_DIALOG1 };