TX2 QT 配置caffe_SSD

主要几点:

1. 保证caffe正常编译和配置,并能够运行(https://blog.csdn.net/jesse_mx/article/details/53404563)

2. 安装好了QT(https://www.jetsonhacks.com/2017/01/31/install-qt-creator-nvidia-jetson-tx1/)

3. pro文件的配置

LIBS包含的是库文件(.so):L后面跟的是库文件所在的路径,l后面跟的是库文件名,当然也可以直接添加(如 LIBS +=/usr/lib/libcaffe.so.1.0.0-rc3),具体的含义:

(-l 参数是用来指定程序要连接的库, -l参数紧接着就是库名, 库名和真正的库文件名的差别, 以数学库为例,

其库名为 m , 其 库文件名为 libm.so,也就是把库名头文件的lib 和 .so 去掉就是库名。 

放在/lib, /usr/lib 和 /usr/local/lib 中的库直接使用参数 -l 链接就可以了, 如果没有放在这三个文件中, 那么

我们就要使用-L 加上库文件所在的文件夹, 然后再使用 -l 加上库名就好了。 

另外,大部分libxxxx.so只是一个链接,以RH9为例,比如 libm.so它链接到/lib/libm.so.x,/lib/libm.so.6又链接到/lib/libm-2.3.2.so,如果没有这样的链 接,还是会出错,因为ld只会找libxxxx.so,所以如果你要用到xxxx库,而只有libxxxx.so.x或者libxxxx- x.x.x.so,做一个链接就可以了ln -s libxxxx-x.x.x.so libxxxx.so)

#caffe
INCLUDEPATH +=/home/nvidia/caffe/include \
            /home/nvidia/caffe/src \

LIBS +=/usr/lib/libcaffe.so.1.0.0-rc3
#LIBS +=/home/nvidia/caffe/build/lib/libcaffe.so

#cuda
INCLUDEPATH +=/usr/local/cuda/include
LIBS += -L/usr/local/cuda/lib64 \
        -lcudart -lcublas -lcurand -lnvrtc
#protobuff
LIBS += -L/usr/lib/aarch64-linux-gnu \
        -lprotobuf
#opencv
LIBS +=`pkg-config opencv --cflags --libs` -lm

#other dependencies
LIBS += -lglog -lgflags  -lboost_system -lboost_thread -llmdb -lleveldb -lstdc++ -lcudnn -lcblas -latlas

4.然后就可以加载caffe自带C++接口函数,利用已有的model来进行相应的检测任务了:

这里我使用的是SSD 中自带的ssd_detect.cpp,之后各自配置一下接口就行了

猜你喜欢

转载自blog.csdn.net/weixin_38907330/article/details/81106444