VS2013调用caffe新建自己的工程详细过程

VS2013调用caffe新建自己的工程详细过程

在windows上编译好caffe之后(纯CPU),很多人都会存在这样的问题,我该如何去调用编译好的caffe来新建自己的工程开发自己的应用呢,这个问题折腾了一下午,终于成功实现了在自己新建的工程中调用编译好的caffe,下面就记录一下,新建VS2013工程实现caffe的具体过程。

一、Windows下编译好caffe

这里不具体叙述编译过程,网上的教程很多,这里给出一个详细编译过程的链接:http://www.cnblogs.com/cxyxbk/p/5902034.html

这里我给出了一个未编译的caffe库和一个我已经编译好的caffe库,欢迎下载:

未编译的caffe库:http://pan.baidu.com/s/1geHKFOv

编译好的caffe库:http://pan.baidu.com/s/1hsmkKni

编译过程中下载的依赖库NugetPackages:http://pan.baidu.com/s/1hsh1eOc

如果要自己编译的话这里要注意编译caffe时候需要把解决方案平台改成x64平台, Debug模式和Release模式都编译一下,后面有可能都会用到,切记,两种模式都一定要编译一次。

二、新建一个空的控制台VS2013工程,起名为caffe-test,并对该工程进行caffe配置,这个配置是在已经成功编译好caffe和下载好了依赖库NugetPackages的前提下进行配置的。

1)将工程解决方案平台改为x64

就将下面这个地方进行配置管理器,新建一个x64进行。


2)下载OpenCV.2.4.10库和boost_1_59_0库;这两个库必须下载,后面配置会用到,如果你电脑上已经有OpenCV库和boost库但是版本和这个不一致的话,建议你单独去下载这两个库,否则后面会出现无法运行此程序的错误。下载好boost库之后,需要对它进行安装,安装过程:

(1)双击boost_1_59_0文件夹下bootstrap.bat文件,之后会出现一下命令框


(2)关闭该命令框,查看是否生成了bjam.exe文件,双击该文件,同样会弹出一个命令框,之后耐心等待约10分钟,直到出现如下显示才可关闭:


3)设置工程路径(下面默认都是在Release模式下配置)

(1)项目-> 属性 -> 配置属性 -> VC++目录 -> 包含目录

F:\caffe-windows\include

F:\NugetPackages\boost.1.59.0.0\lib\native\include

F:\NugetPackages\glog.0.3.3.0\build\native\include

F:\NugetPackages\gflags.2.1.2.1\build\native\include

F:\NugetPackages\protobuf-v120.2.6.1\build\native\include

F:\NugetPackages\OpenBLAS.0.2.14.1\lib\native\include

F:\NugetPackages\OpenCV.2.4.10\build\native\include

(2)项目-> 属性 -> 配置属性 -> VC++目录 -> 库目录

F:\NugetPackages\lmdb-v120-clean.0.9.14.0\lib\native\lib\x64

F:\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\lib\x64\v120\Release

F:\NugetPackages\OpenCV.2.4.10\build\native\lib\x64\v120\Release

F:\caffe-windows\Build\x64\Release

F:\opencv2.4.10\build\x64\vc12\lib

F:\NugetPackages\boost_date_time-vc120.1.59.0.0\lib\native\address-model-64\lib

F:\NugetPackages\boost_filesystem-vc120.1.59.0.0\lib\native\address-model-64\lib

F:\NugetPackages\boost_system-vc120.1.59.0.0\lib\native\address-model-64\lib

F:\NugetPackages\glog.0.3.3.0\build\native\lib\x64\v120\Release\dynamic

F:\NugetPackages\boost_thread-vc120.1.59.0.0\lib\native\address-model-64\lib

F:\NugetPackages\boost_chrono-vc120.1.59.0.0\lib\native\address-model-64\lib

F:\NugetPackages\gflags.2.1.2.1\build\native\x64\v120\static\Lib

F:\NugetPackages\hdf5-v120-complete.1.8.15.2\lib\native\lib\x64

F:\NugetPackages\protobuf-v120.2.6.1\build\native\lib\x64\v120\Release

F:\NugetPackages\OpenBLAS.0.2.14.1\lib\native\lib\x64

F:\boost_1_59_0\lib64-msvc-12.0(必须是和caffe配置的boost_1_59_0版本一致,如果第一次下载,需要对boost库进行安装,安装详细过程网上有)

(3)项目-> 属性 -> 配置属性 -> 链接器 -> 输入 ->附加依赖项

libboost_date_time-vc120-mt-1_59.lib

libboost_filesystem-vc120-mt-1_59.lib

libboost_system-vc120-mt-1_59.lib

libglog.lib

libcaffe.lib

gflags.lib

gflags_nothreads.lib

hdf5.lib

hdf5_hl.lib

libprotobuf.lib

libopenblas.dll.a

Shlwapi.lib

opencv_core2410.lib

opencv_highgui2410.lib

opencv_imgproc2410.lib

LevelDb.lib

lmdb.lib

opencv_video2410.lib

opencv_objdetect2410.lib

(4)项目 -> 属性 -> 配置属性 -> C/C++ -> 预处理器 -> 预处理器定义 -> CPU_ONLY

(5)项目 -> 属性 -> 配置属性 -> C/C++ -> 常规 -> 将警告视为错误 -> 否

以上就是所有的配置过程,下面写个小程序测试一下:


运行结果如下:


上面正常运行了,也得出了正常结果,那么我们对配置好的环境测试一下使用opencv读入图片测试一下


运行一下:


出现错误:无法启动此程序,因为计算机中丢失libopenblas.dll。尝试重新安装该程序以解决此问题

解决方法:

回到你编译caffe的位置,在F:\caffe-windows\Build\x64\Release文件夹下找到下面五个文件:

libgcc_s_seh-1.dll,

libgflags.dll

libgfortran-3.dll,

libglog.dll

libopenblas.dll

libquadmath-0.dll

将这六个.dll文件复制到你刚刚新建的caffe-test工程下x64文件夹下Release文件夹中,


再次运行该程序:


出现错误:无法启动此程序,因为计算机中丢失opencv_core241o.dll。尝试重新安装该程序以解决此问题.

解决方法:回到你编译caffe的位置,在F:\caffe-windows\Build\x64\Release文件夹下找到下面五个文件:

opencv_core2410.dll,opencv_highgui2410.dll,opencv_imgproc2410.dll,opencv_objdetect2410.dll,opencv_video2410.dll

将这五个文件同样放置在你刚刚新建的caffe-test工程下x64文件夹下Release文件夹中。这里注意了,千万不要从你安装的opencv库中去拷贝这几个文件,切记,切记。

再次运行程序:


出现错误:无法启动此程序,因为计算机中丢失libgflags-debug.dll。尝试重新安装该程序以解决此问题.

解决方法:回到你编译caffe的位置,在F:\caffe-windows\Build\x64\Debug文件夹下找到libgflags-debug.dll文件,并将它拷贝上述caffe-test工程下x64文件夹下Release文件夹中,注意了这次拷贝的文件来自于Debug编译后产生的。此时该Release文件夹中应该有下面这么多文件了


此时,对程序记得一定要“重新生成解决方案”,不然还是无法正常运行的。


至此,所有的配置都完成了,看到这张图片之后是不是觉得很爽啊,哈哈。




  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值