问题归纳:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

本文介绍了在VS2010环境下编译OpenCV项目时遇到的LNK1123错误及其解决方案。通过调整项目配置、更新补丁或修复cvtres.exe版本等问题,可以有效地解决这一编译错误。

        前几天通过重新编译opencv的源代码查看其内部函数,在台式机上获得成功,却无法在自己的笔记本上编译成功。经历了卸载VS2010后打开opencv的sln文件,编译中出现LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏,经过搜寻资料与实际验证总结解决方案。

      其中http://bbs.youkuaiyun.com/topics/390121452的25楼给出了解决方案。摘录如下:

     终极解决方案: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\v4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。
意外的是,治本的办法是第三步,删除旧版本的cvtres.exe后,就不需要每次都设置配置了。

    在https://msdn.microsoft.com/zh-cn/library/7dz62kfh.aspx中提供的解决方案如下:

    将所有服务包和更新应用到你的 Visual Studio 版本。 这对于 Visual Studio 2010 尤为重要。

    禁用了尝试使用增量链接生成。 在菜单栏上,依次选择“项目”、“属性”。 在“属性页”对话框中,依次展开“配置属性”、“链接器”。 将“启用增量链接”的值更改为“否”。

    验证在 PATH 环境变量中首次发现的 CVTRES.EXE 版本是否与由你的项目使用的生成工具的版本或平台工具集的版本相匹配。

    确保文件类型有效。 例如,确保 OMF 对象是 32 位而不是 16 位。

    确保文件未损坏。 如有必要,请重新生成。

    vs2010中下的解决方案是安装sp1的补丁。补丁下载地址:http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=23691

    最终是通过安装sp1的补丁直接解决。MSDN解释该问题的原因在于:输入文件必须具有通用对象文件格式 (COFF) 格式。 如果输入文件不是 COFF,LINK 则链接器会自动尝试将 32 位 OMF 对象转换为 COFF,或运行 CVTRES.EXE 来转换资源文件。 此消息指示链接器不能转换该文件。 从另一个安装的 Visual Studio、Windows 开发工具包或 .NET Framework 中使用不兼容的 CVTRES.EXE 版本时,也会出现此情况。

    个人认为原因在于cvtres.exe的版本问题,sp1在更新当中解决了该问题。

内容概要:本文围绕六自由度机械臂的人工神经网络(ANN)设计展开,重点研究了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程,并通过Matlab代码实现相关算法。文章结合理论推导与仿真实践,利用人工神经网络对复杂的非线性关系进行建模与逼近,提升机械臂运动控制的精度与效率。同时涵盖了路径规划中的RRT算法与B样条优化方法,形成从运动学到动力学再到轨迹优化的完整技术链条。; 适合人群:具备一定机器人学、自动控制理论基础,熟悉Matlab编程,从事智能控制、机器人控制、运动学六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)建模等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握机械臂正/逆运动学的数学建模与ANN求解方法;②理解拉格朗日-欧拉法在动力学建模中的应用;③实现基于神经网络的动力学补偿与高精度轨迹跟踪控制;④结合RRT与B样条完成平滑路径规划与优化。; 阅读建议:建议读者结合Matlab代码动手实践,先从运动学建模入手,逐步深入动力学分析与神经网络训练,注重理论推导与仿真实验的结合,以充分理解机械臂控制系统的设计流程与优化策略。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值