框架,参考库来理解。
首先添加Caffe的动态链接库路径和本身。
然后添加cuda、opencv的动态链接库
最后添加Caffe依赖的动态库。
当然,首先要在ubuntu系统中安装这些框架/库。
实现如下:
.pro内容
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
# adding dynamic links of CAFFE and its dependencies
# caffe
INCLUDEPATH += /home/yanghy/caffe-master/include /home/yanghy/caffe-master/src /home/yanghy/caffe-master/distribute/include
LIBS += -L/home/yanghy/caffe-master/build/lib
LIBS += -lcaffe
# cuda
INCLUDEPATH += /usr/local/cuda/include
LIBS += -L/usr/local/cuda/lib64
LIBS += -lcudart -lcublas -lcurand
# opencv
LIBS += -lopencv_core -lopencv_imgproc -lopencv_highgui
# other dependencies
LIBS += -lglog -lgflags -lprotobuf -lboost_system -lboost_thread -llmdb -lleveldb -lstdc++ -lcudnn -lcblas -latlas
# 注意路径不能照搬,要根据具体情况具体分析哦!
不理解的地方参考:http://blog.csdn.net/hyy0228/article/details/66974870 QQ群:99392565
把caffe-master/examples/cpp_classification/classification.cpp拷贝到主函数里试一下 需要在最前面加一行
#define USE_OPENCV
如果没有GPU,再加上:
#define CPU_ONLY
编译通过,运行编译生成的程序时候可能找不到共享库,需要配置环境变量
环境变量配置参考:http://blog.csdn.net/sahusoft/article/details/7388617
SSD同理。
遇见错误:找不到caffe/proto.pb.h
https://www.cnblogs.com/cly0922/p/6683708.html
出现
reference to 'shared_ptr' is ambiguous
是因为using namespace std; 命名空间发生了冲突。