VS2010+OPENCV 各种问题

·之前找到一版在VS2010+OPENCV2.2环境下的SIFT算法,认真学习研读后,打算跑跑看。

 代码来源于:http://blog.csdn.net/zddblog/article/details/7521424

·配置方法如下:http://www.cnblogs.com/fourseas/p/6294256.html



·出现了以下error:

·ERROR LNK2019出现的原因:https://msdn.microsoft.com/zh-cn/library/799kze2z.aspx 
 为了解决这个问题花了将近四天,分享一下使用过的方法吧。

·尝试以下解决方式:

1. VS2013编译报错——error LNK2001: 无法解析的外部符号 __imp_PathMatchSpecA E:\CaffeProgram\3train_mnist(p)\3train_mnist\gflags.lib(gflags.obj) 3train_mnist
  解决方案来自:http://www.cnblogs.com/xzabg/p/5867160.html

  用这个方法把开始时的80多个error降低到29个。

2. 平台版本不匹配 
libcpmtd.lib(wiostrea.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1600”(main.obj 中)
解决方案来自:http://blog.csdn.net/shenmifangke/article/details/50395116 
MS VC++ 14.0 _MSC_VER = 1900 vs2015
MS VC++ 12.0 _MSC_VER = 1800 vs2013的编译器他的平台是v120
MS VC++ 11.0 _MSC_VER = 1700 vs2012的编译器他的平台是v110
MS VC++ 10.0 _MSC_VER = 1600 Visual C++ 2010
MS VC++ 9.0 _MSC_VER = 1500 Visual C++ 2008
MS VC++ 8.0 _MSC_VER = 1400 Visual C++ 2005
MS VC++ 7.1 _MSC_VER = 1310
MS VC++ 7.0 _MSC_VER = 1300
MS VC++ 6.0 _MSC_VER = 1200
MS VC++ 5.0 _MSC_VER = 1100
平台工具集版本选择与平台不兼容(我这里就是在2010里面错误链接了2012的地址)

3. Configuration Properties(配置属性)->Linker(链接器)->System(系统),然后在右边栏的SubSystem(子系统)对应的项改为控制台(/SUBSYSTEM:CONSOLE)
解决方案来自: http://www.cnblogs.com/PierreDelatour/archive/2011/12/02/2272048.html

·如果以上方式都未完全解决问题(和我一样)的话,尝试:

将SIFT里面的代码复制粘贴到自己原本使用过的工程里面,最后跑通了。效果图就不贴上来了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值