按照《21天实战caffe》书中p102中代码写好了blob_demo.cpp 但是编译和运行时出了些问题,记录如下:
问题1:In file included from blob_demo.cpp:3:0:
include/caffe/blob.hpp:9:34: fatal error: caffe/proto/caffe.pb.h: No such file or directory
#include "caffe/proto/caffe.pb.h"
^
compilation terminated.
解决: 进到caffe根目录
$protoc src/caffe/proto/caffe.proto --cpp_out=.
$sudo mkdir include/caffe/proto
$sudo mv src/caffe/proto/caffe.pb.h include/caffe/proto
问题2:路径问题
解决:要将书中的路径换成自己caffe安装的路径,编译和执行app时的路径都需要修改。
因为我是把blob_demo.cpp直接放到了caffe安装根目录下,所以我的程序是:
编译:
$g++ -o app blob_demo.cpp -I include/ -D CPU_ONLY -I .build_release/src/ -L build/lib/ -lcaffe
执行:
$export LD_LIBRARY_PATH=build/lib/:$LD_LIBRARY_PATH
$./app
当然cpp直接放caffe根目录下并不推荐,多了会导致文件混乱。
最好把路径设成自己caffe安装的根目录:
$g++ -o app blob_demo.cpp -I/home/***/caffe/include/ -D CPU_ONLY -I/home/***/caffe/.build_release/src/ -L/home/***/caffe/build/lib/ -lcaffe
$export LD_LIBRARY_PATH=/home/***/caffe/build/lib/:$LD_LIBRARY_PATH
$./app
参考:
http://blog.csdn.net/xunan003/article/details/72732989
http://blog.csdn.net/lanchunhui/article/details/58245582