OpenCV 1.1与1.2在VC++6.0中的兼容与配置问题解决

4星 · 超过85%的资源 需积分: 10 15 下载量 12 浏览量 更新于2024-09-11 3 收藏 214KB DOC 举报
本文主要讨论了在使用OpenCV 1.1版本的环境下,针对SURF算法实现OpenSURF程序时遇到的问题。在最初尝试在VC++ 6.0环境中编译OpenCV 1.1的程序时,由于函数cvFindHomography的参数差异(OpenCV 1.0版本只有前三个参数,而在1.1及以后版本引入了CV_RANSAC参数),编译后的程序在运行时出现了"程序启动正常初始化 0x1c01500002 失败"的错误。 这个错误与Visual Studio 2005中的vcredist_x86.exe相关,因为VS2005可以通过安装此文件来解决某些依赖性问题。尽管作者最初通过VS2005解决了这个问题,但在将工程文件复制到只安装了VC6的另一台计算机上时,同样的错误仍然存在,表明问题可能不仅仅是依赖库的问题。 经过一系列试验,作者发现了一个解决方案:使用OpenCV 1.1的include目录,同时链接OpenCV 1.2的lib(如120.lib)和bin(如120.dll)。这个做法可能是因为OpenCV 1.2版本的库可能包含了修复上述问题的更新,或者对于某些函数的实现方式有更兼容的版本。 配置步骤包括: 1. 下载OpenCV 1.1和1.2到指定目录,例如d:\dcode\opencv和d:\dcode\opencv1.2。 2. 安装OpenCV到各自目录,确保bin目录被添加到系统路径,以便在命令行或程序中能够找到库文件。 3. 对于VC6的工程文件,需要调整链接器配置,使用OpenCV 1.2的lib而不是1.1的,以确保程序能够正确地链接和运行。 这个解决方案可能适用于特定的OpenCV版本组合和开发环境,如果其他开发者遇到类似问题,可以根据本文提供的经验和方法进行排查和调整。需要注意的是,使用不同版本的库可能会对程序的功能和性能产生影响,因此在选择版本时应根据实际需求和兼容性来决定。