1.环境准备
操作系统:Windows10
编译环境:Visual Studio Ultimate 2013(推荐)
2.caffe准备
1.从Microsoft官方Github上下载Caffe源码并解压
https://github.com/Microsoft/caffe
2.在caffe-master\windows文件夹中,将CommonSettings.props.example文件更名为CommonSettings.props。因为使用的是CPU版本的caffe,需要修改该文件(7、8行)
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros">
<BuildDir>$(SolutionDir)..\Build</BuildDir>
<!--NOTE: CpuOnlyBuild and UseCuDNN flags can't be set at the same time.-->
<CpuOnlyBuild>true</CpuOnlyBuild>
<UseCuDNN>false</UseCuDNN>
<CudaVersion>7.5</CudaVersion>
......
3.编译caffe
用vs打开caffe-master\windows\Caffe.sln ,并将解决方案配置修改为release,点菜单栏上的“生成->重新生成解决方案”,时间较长,等待编译完成即可(由于官方caffe-windows 的版本使用了NuGet管理第三方开发包,所以需要在vs2013上安装NuGet,默认自动安装,不需要任何操作)。若编译成功可在caffe-master\Build\x64\Release中找到所有编译生成的文件
4.错误分析
编译时可能遇到的错误:
1.errorC2220: 警告被视为错误 - 没有生成“object”文件 (..\..\src\caffe\util\math_functions.cpp)
原因是math_functions.cpp文件代码为英文,而我们的系统通常是中文,也就是编码方式的错误。
解决方法:直接打开math_functions.cpp,保存一下即可。
2.无法打开文件"libcaffe.lib"
在项目里双击打开alt_sstream_impl.hpp,若提示中文编码错误,点击确定后保存一下
最后重新编译一次应该就没问题了