最近换了64位的主机,准备把之前做过的程序都整理一下,然后遇到这种问题

首先给win7 64为配置opencv2.4.9配置过程就不细说了,可以参考http://wiki.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5


情况一:

在配置链接库的时候就都选择x64文件下的文件,但是在vs2010中对应的cv函数识别不出来

这里需要注意的是虽然系统是64位,但是vs中可能是win32选项的程序,那么这样对应的链接库还是需要是x86的,注意在环境变量中的配置

修改为x86对应环境时程序运行正常


情况二:

修改为x86后,库函数可以被识别,但是运行的时候出现程序无法正常启动,错误代号0x00007或者别的,这个时候

可以尝试在环境变量中回复x64的选项,同时把VS2010的属性改为x64平台

这个修改可以在工程的配置属性当中进行修改,然后试一下,如果还是不行,就尝试一下用管理员权限启动vs


情况三:

VS 2010下 打开实例 出现这样的错误:
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

这个问题一般是出在由低版本的工程向高版本工程进行转换的时候出现的

总结了实践了一些方法:

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\v
4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除较旧的版本,或者重新设置Path变量。

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

但是一定注意的是搜索的时候会出来很多对应的cvtres.exe,一定是删除vc\bin\cvtres.exe对应目录下的那个,可能还会出现对应文件夹arm64下的exe,可以用最新的C:\Windows\Microsoft.NET\Framework\v.....\cvtres.exe下的进行替换,如果没有直接删除之前那个旧版本的就可以了