windows下面在CPU下面编译别人默认GPU版本的CaffeMex_V2解决问题

1 参考链接

https://blog.csdn.net/xiaoyu20121221/article/details/84657589

2 背景

最近需要在windows下面编译人脸质量评价算法所依赖的caffe环境,是作者提供的版本CaffeMex_v2,链接戳这里。作者默认设置的是GPU编译模式,在CommonSettings.props下面设置好各个参数之后(注意这个版本是直接自动联网下载各种caffe第三方依赖库,不需要手动建立thirdparts路径并把第三方库解压到这个里面编译,这样多此一举,并且CommonSettings.props中也没有写需要的依赖内容)。接下来直接用VS2015(我电脑是安装的VS2015,但是作者是在低版本下编译的,所以要自动更新)打开windows文件夹下面的Caffe.sln,然后直接进行重新生成。

3 出现问题

开始重新生成之后,出现如下错误。

windows下面在CPU下面编译别人默认GPU版本的CaffeMex_V2解决问题_第1张图片

看起来是一个问题导致,通过去网上搜索,有幸发现了这篇,按照其提供的思路,直接打开libcaffe工程下面的batch_pool_layer.cpp,找到第145号,有下面几行代码:

#ifdef CPU_ONLY
STUB_GPU(BatchPoolLayer);
#endif

把这三行代码注释掉,重新编译解决了这个问题。

继续编译,又出现了下面找不到依赖库的问题

windows下面在CPU下面编译别人默认GPU版本的CaffeMex_V2解决问题_第2张图片

于是从网上找到这篇,其和我出现的问题高度一致,该篇博客说是VS版本的原因,需要用VS2013版本编译,我晕,难道我还要重新装个VS2013吗。本着不想安装vs2013的想法,又重新找到了这篇。这篇的意思是去boost官网下载vs2015匹配的boost1.59.0然后编译出来。反正两种方法吧,我先不重新安装vs2013,先按照第二种方法来吧。于是开始折腾在vs2015下面安装boost1.59.0。按照这篇完全可以编译生成图中报错所缺少的boost依赖。

windows下面在CPU下面编译别人默认GPU版本的CaffeMex_V2解决问题_第3张图片

接下来把库路径添加进去

windows下面在CPU下面编译别人默认GPU版本的CaffeMex_V2解决问题_第4张图片 windows下面在CPU下面编译别人默认GPU版本的CaffeMex_V2解决问题_第5张图片

windows下面在CPU下面编译别人默认GPU版本的CaffeMex_V2解决问题_第6张图片 

添加完了后,继续重新生成。 

你可能感兴趣的:(VS工程报错问题)