@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
?