WTL从低版本到高版本转换2个fatal error处理 2009-09-17 10:27 这两个fatal error是因为从低版本的WTL到高版本的WTL转变后产生的. 错误描述如下: 1>正在编译资源...1>正在编译资源清单...1>正在链接...1>CVTRES : fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x04091>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏1>生成日志保存在“file://c:\WTL80_7108_Beta1\Samples\BmpView\Debug\BuildLog.htm”1>BmpView - 2 个错误,1 个警告========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
临时的解决方法如下: 项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
不过这个只是临时的方法,根本的方法是,在计算机搜索cvtres.exe,
我搜索到的是
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319
D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin 下有
要用新安装的cvtres.exe替换旧的cvtres.exe(可以注意下文件日期)
我的vs 是安装在D:\Program Files (x86)\Microsoft Visual Studio 10.0, 就是复制
C:\Windows\Microsoft.NET下面的cvtres.exe(注意位数)到D:\Program Files (x86)\Microsoft Visual Studio 10.0下面来
就是C:\Windows\Microsoft.NET\Framework64\v4.0.30319到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
C:\Windows\Microsoft.NET\Framework\v4.0.30319到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
然后就编译没有这个错误了。
我看了下日期C:\Windows\Microsoft.NET下的是2012年的,D:\Program Files (x86)\Microsoft Visual Studio 10.0下的是2010年的。当然c盘其他地方也有2010年的cvtres.exe,估计是更新Microsoft.NET造成的,把最新的cvtres.exe复制到自己的vs安装目录替换掉旧的就可以了(注意位数)。
我的系统是64位的win7,同时有64位和32位的cvtres.exe。