在vc++2008 编译过程中遇到 fatal error CVT1100 错误的解决方法
今天新建了一个vc++工程,对对话框中资源文件进行编辑(如gomaps.rc),修改里其中部分内容,再次编译的时候出现以下编译错误:
错误 1 fatal error CVT1100: duplicate resource. type:VERSION, name:1, language:0x0409 CVTRES GoMaps
错误 2 fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 GoMaps
在百度上搜索后发现主要的解决方法是:
解决方法:项目——属性——清单工具,嵌入清单——否
这个方法并没有帮我解决问题,然后接着看到更犀利的方法:
--------------------------------------------------------
终极解决方案:
VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。
在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:
第一步:与上相同。
第二步:将 项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”。
第三步:一般计算机经过上两步设置就能解决问题了,但是如果还有问题,那就按一下方法解决:
计算机是否为64bit操作系统,如是,继续2。
查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Windows\Microsoft.NET\Framework\v
4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。
意外的是,治本的办法是第三步,删除旧版本的cvtres.exe后,就不需要每次都设置配置了。
------------------------------------------------------------------------------------
以上解决方案摘自http://bbs.csdn.net/topics/390121452 25楼的解答,通过评论看样解决了绝大部分人的问题,但是我只安装了一个vs2008,未曾安装过其他版本,本机搜索没有找到重复的cvtres.exe;
接下来我重启电脑,重新编译工程文件,问题依旧;重新建立项目却没有这个问题,然后在对资源文件进行修改出现同样问题;
根据里面的答案,删除资源中的VERSION文件夹,重新编译,可以成功运行,特此记录本次问题的解决方法,希望能够帮助其他遇到同样问题的同仁。
by gomaps
2013-11-02