zoukankan      html  css  js  c++  java
  • 用VS2010进行CMAKE的时候“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”

    由于要编译LTP,LTP在MINGW下又不能编译,所以忍痛安装了VS2010+CMAKE。

    由于VS在本科时候虐我千百遍,所以一直心存阴影。。。

    转入正题,当cmake的时候, 它提示 “LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”

    于是上网搜结果,基本上都是“VS 2010下,打开实例的时候出现错误”,附带传送门 http://bbs.csdn.net/topics/390121452

    解决方案也传送到这里:

    “VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。
    在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:
    第一步:与上相同。
    第二步:将 项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”。
    第三步:一般计算机经过上两步设置就能解决问题了,但是如果还有问题,那就按一下方法解决:
    计算机是否为64bit操作系统,如是,继续2。
    查找是否有两个cvtres.exe。一个是C:Program Files(x86)Microsoft Visual Studio 10.0vcincvtres.exe, 另一个是C:WindowsMicrosoft.NETFrameworkv
    4.0.30319cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。

    意外的是,治本的办法是第三步,删除旧版本的cvtres.exe后,就不需要每次都设置配置了。”

    但是但是!!咱们用的是CMAKE又不是VS2010的时候出的问题,所以我们还是得从源头找问题。

    转折点是在http://blog.csdn.net/rryr2/article/details/8221357里面说到的,

    VS2010和VS2012或者sv2008和VS2010,高版本VS编译都会出现,使用VS2008的D:Program FilesMicrosoft Visual Studio 9.0VCin目录下的cvtres.exe替换到VS2010版本VS目录下再编译成功。

    他提示VS不同版本直接的cvtres不一样,如果低版本的工程用高版本打开时会有标题中说的问题。又得知LTP是在VS2008里面编译的,所以把VS2008里的cvtres.exe拷到VS2010里面。cmake成功,搞定。

  • 相关阅读:
    Unity错误提示大全(遇到问题就更新)
    使用log4Net输出调试信息
    3.创建Manager类,演示对TestUser进行增删改查功能
    2.创建NHibernateHelper帮助类,生成sessionFactory
    1.使用FluentNHibemate 操作数据库,添加映射到数据库
    MySql介绍与安装
    搭建unity客户端
    搭建服务器端
    Photon介绍与安装
    简练软考知识点整理-实施定量风险分析
  • 原文地址:https://www.cnblogs.com/zklidd/p/3838187.html
Copyright © 2011-2022 走看看