问题原因
其实问题的原因很简单:Nuget坑你了!根据网速的不同Nuget下载的opencv-2.4.10大小不定,总之就是没有下载完全!所以本文给出了二种方法,每种方法我都用过,但是最终能解决根本问题的是方法二。
作者的PC环境
W7 64位旗舰版+cuda8.0+VS2013,故事发生在py-faster-rcnn的配置过程中。
方法一
该方法解决了caffe配置过程中的error MSB4062问题,但是当配置py-faster-rcnn时,error又出现了。步骤很简单:删除该文件第五行 private前的 \
方法二
该方法彻底解决了问题,目前作者已配置成功。该方法来自http://blog.csdn.net/qq_27278153/article/details/53667756,非常感谢博主,部分图使用的是博主的图。
去官网http://opencv.org/releases.html下载合适的opencv(版本任选),楼主选用的是2.4.10,运行解压至C:\caffe by Lea\NugetPackages\路径下(哪里都可以,我只是为了方便管理)。
添加环境变量:C:\caffe by Lea\NugetPackages\opencv\build\x64\vc12\bin;C:\caffe by Lea\NugetPackages\opencv\build\x86\vc12\bin;
添加用户变量:创建opencv变量,内容为C:\caffe by Lea\NugetPackages\opencv\build;然后创建PATH变量,内容为C:\caffe by Lea\NugetPackages\opencv\build\x86\vc12\bin
打开VS中Nuget,找到opencv点击管理,把所有的勾去掉就可以了。
接下来配置caffe的opencv环境。对工程中的每个项目:选定项目→生成依赖项→生成自定义,去掉Opencv前面的勾。
libcaffe操作:在libcaffe的属性-C/C++-常规-附加包含目录中添加C:\caffe by Lea\NugetPackages\opencv\build\include
在caffe、matcaffe、pycaffe中修改如下:
这里添加的lib文件名字出了libcaffe.lib之外还有如下:
opencv_ml2410d.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_nonfree2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_videostab2410d.lib以下操作需要对caffe、libcaffe、pycaffe都进行: libcaffe右键卸载项目-右键编辑libcaffe.vcxproj,然后删除 ,之后重新加载项目。
最后按照libcaffe、caffe、pycaffe生成顺序重新生成即可。