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

前言

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,就可以看到执行效果。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容