资源文件冲突error RC2151 : cannot reuse string constants, 61446(0xF006) - "****" already defined. Cannot add 61446(0xF006) - "一未命名文件".

来源:互联网 发布:天津淘宝街搬哪去了 编辑:程序博客网 时间:2024/06/10 15:41

     今天在编写项目的时候,我通常会用动态加载链接库的方式编译程序,这样编译得到的程序会比较精简一些,昨天,由于要将程序拿出来用于演示,对方电脑没装VC,所以我在工程选项中将动态加载的方式改成静态加载。没想到的是,重新编译后VC竟然报错如下:
error RC2151 : cannot reuse string constants, 61446(0xF006) - "****" already defined. Cannot add 61446(0xF006) - "一未命名文件".

后来在微软的官网上找到了答案,这种问题常出现在利用VC的资源编辑器添加的字符串资源,而又碰巧,VC将资源ID定为了61446,这样在发布的时候,使用Release版本,而静态加载链接库编译时,MFC中afxres.h中61446已被使用过,就出现了同一ID被两次使用。解决的方法很简单,将自己写的那段资源ID改成比61446大些问题就解决了。