qt -win COFF: file invalid or corrupt
2015-09-07 22:07
411 查看
使用VisualStudio编译链接中可能出现如下错误:
LINK:fatalerrorLNK1123:failureduringconversiontoCOFF:fileinvalidorcorrupt
网上有如下解决方法:
1.disableincrementallinking
2.turningoff"EmbedManifest"
但是我使用这两种方法均不奏效.
Issuerootcause:系统更新或软件升级中,造成有多于一个版本的Utility:cvtres.exe
C:/Windows/Microsoft.NET/Framework/v4.0.30319/cvtres.exe
[/code]
-------------------
正题开始。提示说明在转换到COFF文件因为错误失败了(VS2010装好了,一般是不会有[fileinvalid]错的)。
而完成转换工作的是cvtres.exe这个程序。出现上面错误的根本原因是系统中存在有多个版本的cvtres.exe。
系统目录下版本:C:/Windows/Microsoft.NET/Framework/v4.0.30319/cvtres.exe
VS目录下版本: C:/ProgramFiles(x86)/MicrosoftVisualStudio10.0/VC/BIN/cvtres.exe
如果是64位系统,那么还有个在C:/Windows/Microsoft.NET/Framework64/v4.0.30319/cvtres.exe
到此解决方法也就明显简单了,只需要将旧版的重命名或者删除,不过我一般习惯重命名,比如在后面加上-old。
还有点要说的,就是在找系统目录下的cvtres.exe程序的时候,有个名字叫cvtres.exe的XML文件(博主没有显示文件扩展名)。所有大家找的时候记得别找错了啊。
好了,这篇随笔就记到这儿了。养成写博客习惯不容易啊TT(排版有点不好使啊),继续努力!
Error
LINK:fatalerrorLNK1123:failureduringconversiontoCOFF:fileinvalidorcorrupt
网上有如下解决方法:
1.disableincrementallinking
ProjectProperties->ConfigurationProperties->Linker(General)->EnableIncrementalLinking->"No(/INCREMENTAL:NO)"
2.turningoff"EmbedManifest"
但是我使用这两种方法均不奏效.
Issuerootcause:系统更新或软件升级中,造成有多于一个版本的Utility:cvtres.exe
D:/ProgramFiles(x86)/MicrosoftVisualStudio10.0/VC/bin/cvtres.exe
[/code]
而因不当造成VS目录下的cvtres.exe不在work.如果该Utinity在路径的前面,linker觉得需要转换一个.res文件为COFF对象格式,link将失败,显示error:LNK1123
方法:对VS下旧的Utilitycvtres.exe删除或者重命名为cvtres.exe_old.或者重新安排PATH变量.
参考文献:
http://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval
-------------------
关于error:LNK1123:failureduringconversiontoCOFF:fileinvalidorcorrupt错误的解决方案【Qt】【VS2010】
近日因为换装硬盘重装了系统,于是不得不重新安装VS2010Qt这些个开发工具。安装过程都没什么问题,安装完了顺手点了个例子测试下好没好用,于是就出现了标题中的错误提示。之前处理过一次,时间久了就忘了,于是又一顿搜索解决了。这次长个心眼,记下,免得以后又忘了(写博客随笔什么的不好坚持啊,不得不鄙视下自己)。正题开始。提示说明在转换到COFF文件因为错误失败了(VS2010装好了,一般是不会有[fileinvalid]错的)。
而完成转换工作的是cvtres.exe这个程序。出现上面错误的根本原因是系统中存在有多个版本的cvtres.exe。
系统目录下版本:
不过Framework和Framework64下俩个版本是一致的,而且由于系统更新,一般比VS目录下的版本新。
到此解决方法也就明显简单了,只需要将旧版的重命名或者删除,不过我一般习惯重命名,比如在后面加上-old。
还有点要说的,就是在找系统目录下的cvtres.exe程序的时候,有个名字叫cvtres.exe的XML文件(博主没有显示文件扩展名)。所有大家找的时候记得别找错了啊。
好了,这篇随笔就记到这儿了。养成写博客习惯不容易啊TT(排版有点不好使啊),继续努力!
相关文章推荐
- Windows QT下OpenCV的配置
- Qt技巧:QProcess与外部程序的调用
- 在NeoKylin下安装QT5
- Qt 头文件、CONFIG
- Qt自定义事件的实现(军队真正干活,但要增加监军,大平台通知事件,事件内容自定义)
- Qt MFC支持USB设备热插拔
- OS X10.9 环境下部署 QT5.3.1 常见的编译问题
- VS2012 QT5.2.0 无法解析的外部符号
- Qt调用VS生成的dll
- Qt5.0调用GDAL库函数
- qt 链接其他的库
- QT事件(3)
- QT对话框中show和exec的区别
- Qt富文本处理
- qt QToolBox tab 文字居中
- windows下Qt环境搭建
- Windows平台下QT与Opencv配置
- qt 移植 xp 的问题
- QT 中的类收集
- 自写图像标注工具 QT+Opencv