用Visual Studio 2013(VS2013)调用Caffe(注意:不是编译Windows版的Caffe)

一、本文的由来

对于大多数人来说,直接编译Windows版的Caffe基本就可以满足需求了。不过,对于那些想深入Caffe源码并根据自己需求进行修改的人们来说,如何用VS编译、调试Caffe代码可能有些困难,本文就是为了解决这个问题而写的。

本文主要内容是关于如何配置用VS2013调用Caffe的开发环境,最后用Caffe源码中“tools”文件下的“extract_features.cpp”成功进行了测试。

声明:本文配置的是VS2013 x64 Release CPU版的。

二、VS2013调用Caffe步骤

简单的说,用VS2013调用Caffe其实就是用VS2013调用第三方库,因为之前具有大量VS2013配置opencv2.x与opencv3.x的经验,因此就想能不能按照类似的步骤进行配置?于是开始了一通尝试,最后果然可以!具体步骤如下

1、制作(收集)第三方库

因为本人之前已经编译过了Windows版的Caffe,所以第三方库必然已经齐全,如下图所示:

这里写图片描述

1)首先,新建文件夹“3rdParty”,并在该文件夹下再新建“bin”、“lib”和“include”三个文件夹

2)然后,依次查看上图中的每个文件夹,将每个文件夹中“dll”类型的文件复制到上述新建的“3rdParty/bin”文件中,将”.lib”类型的文件复制到“3rdParty/lib”文件中以及每个文件夹下的“include”文件夹中的文件复制到“3rdParty/include”文件中。

说明,复制文件时注意x64和x86以及Release和Debug的区别;另外,上述复制的文件有些应该是不需要的,但是为了避免出后面问题,最好全部复制过去。

2、添加内容到VS2013的“包含目录 ”、“库目录”以及“附加依赖项”等内容

其实接下来的配置方法类似于OpenCV的配置。

1)添加包含目录

新建VS工程,将上述“3rdParty/include”文件的路径添加到新建工程的“包含目录 ”中,同时将Caffe的头文件所在目录添加进去。

2)添加库目录

将“3rdParty/lib”文件的路径添加到新建工程的“库目录 ”中。

3)添加附加依赖项

将以下内容

libprotobuf.lib
hdf5_tools.lib
hdf5_hl_fortran.lib
hdf5_fortran.lib
hdf5_hl_f90cstub.lib
hdf5_f90cstub.lib
hdf5_cpp.lib
hdf5_hl_cpp.lib
hdf5_hl.lib
hdf5.lib
zlib.lib
szip.lib
opencv_world310.lib
shlwapi.lib
leveldb.lib
lmdb.lib
lmdbD.lib
libglog.lib
libopenblas.dll.a
gflags.lib

添加到新建工程的“附加依赖项 ”中。

4)添加预处理器定义

将以下内容

CPU_ONLY
_CRT_SECURE_NO_WARNINGS
_CRT_NONSTDC_NO_DEPRECATE
USE_OPENCV

添加到新建工程的“预处理器”中。

5)添加环境变量

将“3rdParty/bin”文件的路径添加到系统环境变量的PATH变量中(非常重要!!!)。

3、测试

将Caffe的“src”文件添加到新建的工程中(这里没有添加编译好的Caffe动态库,所以需要将Caffe的源码添加进去),然后再将Caffe的“tools”文件夹中的“extract_features.cpp”添加到工程,之后直接Ctrl+F5即可,第一次运行一般都会出错,不过根据错误提示应该不难解决。

大致步骤就是这样,如果大家有什么问题可以留言,或者直接Google、百度,应该都能解决。

猜你喜欢

转载自blog.csdn.net/jnulzl/article/details/57518739