caffe在windows下如何在vs2013新建工程开发自己的应用cpu模式

来源:互联网 发布:清茶淘客软件 编辑:程序博客网 时间:2024/05/16 06:28

关于caffe编译好之后,如何在vs2013上新建自己的工程以便开发自己的应用,,折腾了数周,断断续续,感谢 Joshua_Li_ 的热心指点,下面记录一下过程。


搞了好长时间,才发现网上已经有很完备的视频教程  ,真的可以节省很多时间,我觉得年轻人最重要的不是金钱,而是时间!!!!




因没有装GPU,所以不装CUDA

1. 新建一个空的控制台VS2013工程,起名为caffe1。

File --> New --> Project

选择Win32 Console Application

选择工程路径,比如D:\CODE\CXX

给项目命名caffe1

单击OK后选择Empty project ,,工程为release版本

2. 将工程的Solution Platform改为x64

Build --> Configuration Manager --> Active solution platform --> new --> x64 --> OK 

3. 设置一些工程下的路径,注意Debug和Release下都要设置

在Project --> Properties --> Configuration Properties --> VC++ Directories --> Include Directories中添加openblas、opencv、boost等 具体如下

C:\caffe-master\include;

E:\NugetPackages\boost.1.59.0.0\lib\native\include;

E:\NugetPackages\glog.0.3.3.0\build\native\include;

E:\NugetPackages\gflags.2.1.2.1\build\native\include;

E:\NugetPackages\protobuf-v120.2.6.1\build\native\include;

E:\NugetPackages\OpenBLAS.0.2.14.1\lib\native\include;

E:\NugetPackages\OpenCV.2.4.10\build\native\include;

在Project --> Properties --> Configuration Properties --> VC++ Directories --> Library Directories中添加openblas、opencv、boost等,具体如下

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

//C:\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\lib\Win32\v120\Release;//这个必须改成x64的(debug和release 都改)

C:\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\lib\x64\v120\Release(改成这个)

C:\NugetPackages\OpenCV.2.4.10\build\native\lib\x64\v120\Release;
C:\caffe-master\Build\x64\Release;
E:\opencv\build\x64\vc12\lib;
E:\NugetPackages\boost_date_time-vc120.1.59.0.0\lib\native\address-model-64\lib;
E:\NugetPackages\boost_filesystem-vc120.1.59.0.0\lib\native\address-model-64\lib;
E:\NugetPackages\boost_system-vc120.1.59.0.0\lib\native\address-model-64\lib;
E:\NugetPackages\glog.0.3.3.0\build\native\lib\x64\v120\Release\dynamic;
E:\NugetPackages\boost_thread-vc120.1.59.0.0\lib\native\address-model-64\lib;
E:\NugetPackages\boost_chrono-vc120.1.59.0.0\lib\native\address-model-64\lib;
E:\NugetPackages\gflags.2.1.2.1\build\native\x64\v120\static\Lib;
E:\NugetPackages\hdf5-v120-complete.1.8.15.2\lib\native\lib\x64;
E:\NugetPackages\protobuf-v120.2.6.1\build\native\lib\x64\v120\Release;
E:\NugetPackages\OpenBLAS.0.2.14.1\lib\native\lib\x64;
E:\caffe\Build\x64\Release;
E:\boost_1_59_0\lib64-msvc-12.0

4.在Project --> Properties --> Configuration Properties --> Linker --> Input --> Additional Dependencies中添加

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;
kernel32.lib;
user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)

 有些版本编译情况可能有小出入,,缺什么补什么,不需要的可以删掉!!!!

最后,在工程属性中的c/c++->预处理器->预处理器定义:结尾补上 CPU_ONLY  否则很多编译会出错!!因为我们是在windows下的cpu模式!
同时,将 c/c++->常规中 “将警告视为错误”  关掉!
 
以下是小程序段测试:



以下为输出结果:




0 0