首页 > 技术文章 > 上手Caffe(一)

ceo1207 2017-02-26 19:59 原文

@author:oneBite

本文记录编译使用caffe for windows

 

使用环境

VS2013 ultimate,win7 sp1,caffe-windows源码(从github上下载caffe的windows分支,下载解压之后,不要改变原有的目录结构,因为solution rebuild时会使用文件的相对路径)

 

编译过程

根据需要修改caffe-windows\caffe-windows\windows\CommonSettings.props。本次编译生成不使用GPU和CuDNN的caffe。

       <CpuOnlyBuild>true</CpuOnlyBuild>

       <UseCuDNN>false</UseCuDNN>

 

使用vs2013打开caffe-windows\caffe-windows\windows\****.sln文件(这是VS2013创建的工程),rebuild solution,之后程序会自动下载相应的依赖包。

依赖包简要叙述:proto用于解析参数;boost,c++准标准库,智能指针……

 

之后vs会报错:

错误1:error LNK1104: cannot open file 'libcaffe.lib'

因为project之间有依赖关系,需要手动先编译libcaffe工程

错误2:error C1083: Cannot open source file: '..\..\src\caffe\data_reader.cpp'

项目引用了已经不存在的源文件,只要在项目include和src中删除data_reader的索引即可。

错误3:error C2220: warning treated as error - no 'object' file generated (..\..\src\caffe\util\math_functions.cpp)。

双击该error,显示详细错误信息。发现是源文件character问题。复制文件内容,重新创建如下路径的文件。

\caffewindows\NugetPackages\boost.1.59.0.0\lib\native\include\boost\format\altsstream_impl.hpp

 

解决error之后,rebuild solution。然后运行caffe项目中的caffe.cpp。就可以看到如下界面。

(可以先设置solution的启动项目)

调整设置启动项目

解决方案>properties>startup project>current project

 

 

 

能正确运行之后,可以设置不要重复下载依赖包。

Tools>option中设置nuget package manager,在build时,是否可以download missing files

 

推荐阅读