您的位置:首页 > 其它

x64 win7系统下VS2010运行显示图片程序,出现错误:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

2014-10-23 16:20 549 查看
笔者x64 Win7系统下VS2010配置OpenCV后进行图片显示的小程序测试,遇到以下两个问题:

1、出现错误:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

解决方案:项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。

Q:该方法治标不治本,每次新建一个项目时都要重新配置。还有为什么这么做就能解决该问题呢?

A:1)治本的方法:

<1>项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。

<2>项目|项目属性|配置属性|连接器|清单文件|生成清单 “是”改为“否”。

<3>若以上两步后仍没解决问题,则按照以下方法解决:

查找是否有两个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后,就不需要每次都设置配置了。

2)为什么这么操作可以解决问题?笔者未查明原因,同仁们有清楚的可以给出评论。

2、1>lena.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _main 中被引用

1>lena.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _main 中被引用

1>lena.obj : error LNK2019: 无法解析的外部符号 _cvWaitKey,该符号在函数 _main 中被引用

1>lena.obj : error LNK2019: 无法解析的外部符号 _cvShowImage,该符号在函数 _main 中被引用

1>lena.obj : error LNK2019: 无法解析的外部符号 _cvNamedWindow,该符号在函数 _main 中被引用

1>lena.obj : error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 _main 中被引用

1>c:\users\yunyan\documents\visual studio 2010\Projects\lena\Debug\lena.exe : fatal error LNK1120: 6 个无法解析的外部命令

1>

1>生成失败。

1>

1>已用时间 00:00:01.52

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

解决方案:出现错误的原因可能有二,一种是系统配置不对(如x64位下仍使用Win32则错),另一种是少添加了库。笔者的是第一种原因,因为一直习惯了在x86下编写Win32程序,所以编译的时候仍使用了Win32,那么必然运行失败。该问题怎么破呢?如下:

右击项目名称,选择“属性”,弹出页面的最上方中间一项“平台”选择x64,在该平台下按照OpenCV中文网的配置过程(http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4),分别配置VC++目录和连接器输入,问题则圆满解决。

同理如果是第二种原因造成的,则也参考OpenCV中文网的配置过程(http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4)。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐