1、p102页编写blob_demo.cpp后g++编译生成app文件。
在赵老师的书中,很简单就写成功,估计会有人出现一些错误。其实不是路径问题,是格式的问题,嘿嘿!
在你写好Blob模板类。生成可执行程序app的时候就会出现错误!
CAFFE_ROOT是您之前安转caffe的根目录。
原先是:
- 1
- 1
改写:
- 1
- 1
改写成这样就好了。
之后,运行改程序的时候,还会有一些错误。
原先是:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
改为:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
即添加
- Blob<float> a;
- a.Reshape(1,2,3,4);
- float *p=a.mutable_cpu_data();
- float *q=a.mutable_cpu_diff();
- for(int i=0;i<a.count();i++){
- p[i]=i;
- q[i]=a.count()-i-1;
- }
- a.Update();
- for(int u=0;u<a.num();u++){
- for(int v=0;v<a.channels();v++){
- for(int w=0;w<a.height();w++){
- for(int x=0;x<a.width();x++){
- cout<<"a["<<u<<"]["<<v<<"]["<<w<<"]["<<x<<"]="
- <<a.data_at(u,v,w,x)<<endl;
- }
- }
- }
- }
- retun 0;
- }
后利用1中命令编译g++发现以下报错:
1)、/usr/local/lib/libglog.so.0: error adding symbols: DSO missing from command line
问题原因:没有添加正确的glog共享对象库,应该在Miscellaneous->Other Objects中添加/usr/local/lib/libglog.so,同时Libraries(-I)中添加glog。
解决方案:下载并安装glog
第一步:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
如果不存在需要安装,方法如下:
Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/(下载不下来百度搜索glog-0.3.3.找别人分享的),然后解压安装:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R(获取权限解锁) , 装完之后,这个文件夹就可以kill了。
注意:安装完之后如果还是报错,要在编译命令g++后面加入-lglog:
g++-o app blob_demo.cpp-lglog
3、如果继续报错
/usr/bin/ld: /tmp/ccaK5QcQ.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
//usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0: error adding symbols: DSO missing from command line
$ g++ -o app blob_demo.cpp -lglog -lboost_system -I/home/您服务器名字/caffe/include/ -D CPU_ONLY -I/home/您服务器名字/caffe/.build_release/src/ -L/home/您服务器名字/caffe/build/lib/ -lcaffe
$exportLD_LIBRARY_PATH=$caffe/build/lib/:$LD_LIBRARY_PATH
Size : 1 2 3 4 (24)
a[0][0][0][0] = 0
a[0][0][0][1] = 1
a[0][0][0][2] = 2
a[0][0][0][3] = 3
a[0][0][1][0] = 4
a[0][0][1][1] = 5
a[0][0][1][2] = 6
a[0][0][1][3] = 7
a[0][0][2][0] = 8
a[0][0][2][1] = 9
a[0][0][2][2] = 10
a[0][0][2][3] = 11
a[0][1][0][0] = 12
a[0][1][0][1] = 13
a[0][1][0][2] = 14
a[0][1][0][3] = 15
a[0][1][1][0] = 16
a[0][1][1][1] = 17
a[0][1][1][2] = 18
a[0][1][1][3] = 19
a[0][1][2][0] = 20
a[0][1][2][1] = 21
a[0][1][2][2] = 22
a[0][1][2][3] = 23
ASUM = 276
SUMSQ = 4324
- 1
- 2
- 3
- 4
- 5
3、太不幸了,博主之前编译好的app竟然在隔日重新开机后再次运行却再次出现报错,在命令$ ./app之后出现错误:
./app: error while loading shared libraries: libcaffe.so.1.0.0-rc5: cannot open shared object file: No such file or directory
错误原因:无法调用共享库libcaffe.so.1.0.0-rc5,网上搜索,此文件在caffe框架下build/lib路径下,将此文件拷贝复制一份在你的app文件所在目录下,再次运行./app,成功!!!心好累