原因是安装更高版本VS,卸载后,再次安装VS2010时,.NET也到更高版本了,不会恢复.NET 4.0
VS2010的cvtres.exe就无法使用了。
解决方法如下:
项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
说明:这种方法每个工程均需要修改配置。
当前系统中存在两个cvtres.exe文件,版本不同。让VS2010使用.NET 4.5的cvtres.exe程序。
具体步骤:
重命名或删除:(vs2010安装的位置)……\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
这样……Microsoft.NET\Framework\v4.0.30319 (.NET 4.5)中的cvtres.exe文件就可以被VS2010使用。
亲测两个方法均有效。
vs2010 LINK : fatal error LNK1123: 转换到 COFF 期间失败:解决方法如下:
删除C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin下面的那个cvtres.exe 。他重复了
原因:
转换到 COFF 期间失败: 文件无效或损坏
输入文件必须具有通用对象文件格式 (COFF) 。 如果输入文件不是 COFF,链接器会自动尝试将32位OMF对象转换成COFF,或运行 CVTRES.EXE 来转换资源文件。 此消息表明该链接器未能转换该文件。
百度:
COFF –通用对象文件格式(Common Object File Format),是一种很流行的对象文件格式(注意:这里不说它是“目标”文件,是为了和编译器产生的目标文件(*.o/*.obj)相区别,因为这种格式不只用于目标文件,库文件、可执行文件也经常是这种格式)。大家可能会经常使用VC吧?它所产生的目标文件(*.obj)就是这种格式。其它的编译器,如GCC(GNU Compiler Collection)、ICL(Intel C/C++ Compiler)、VectorC,也使用这种格式的目标文件。不仅仅是C/C++,很多其它语言也使用这种格式的对象文件。
解决方案:第一步:将 项目——项目属性——配置属性——连接器——清单文件——嵌入清单 “是”改为“否”。若还不能解决问题进入第二步。
第二步:查看计算机是否为64bit *** 作系统,如是,继续如下 *** 作。
查找是否有两个cvtres.exe。
C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
右键属性—详细信息, 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。
治本的办法是第二步,删除旧版本的cvtres.exe后,就不需要每次都设置配置了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)