Ubuntu18.04使用caffe-gpu编译.cpp文件

2020-08-12  本文已影响0人  Not灬Alone

前言

caffe实战书籍中提供的编译选项是在cpu-only模式下可以正常编译的,但是如果是使用GPU模式的,就需要将Opencv和Cuda的动态库也链接进来。
.cpp文件如下,

#include <vector>
#include <iostream>
#include <caffe/blob.hpp>
using namespace caffe;
using namespace std;

int main(void)
{
    Blob<float> _blob;
    cout<<"size:"<<_blob.shape_string()<<endl;
    _blob.Reshape(1,2,3,4);
    cout<<"size:"<<_blob.shape_string()<<endl;

    return 0;
}

caffe-cpu的情况下

$ g++ -o app blob_test.cpp -I ~/caffe/include/ -I ~/caffe/.build_release/src/ -D CPU_ONLY -I  ~/caffe/build/lib  -lcaffe

caffe-gpu的情况下
如果使用上面的命令就会提示

错误.png
这时需要像下面这样使用(注意自己路径的替换)
$ g++ -o app blob_test.cpp -I ~/caffe/include/ -I ~/caffe/.build_release/src/ -I /usr/local/cuda-10.0/include -L /usr/local/cuda-10.0/lib64 -L ~/caffe/build/lib  -lcaffe -lcuda  -lglog -lboost_system  `pkg-config opencv --libs --cflags`

编译后可能会出现警告信息,可以不用理会,此时还要注意有没有添加环境变量

$ sudo vim ~/.bashrc
#在环境配置文件中加入下面语句
export LD_LIBRARY_PATH=/home/zxzn/caffe/build/lib/:$LD_LIBRARY_PATH
$ source ~/.bashrc

运行/.app,就可以看到执行效果。

上一篇下一篇

猜你喜欢

热点阅读