qt调用caffe代码

来源:互联网 发布:unity3d 协程重复调用 编辑:程序博客网 时间:2024/06/05 16:31
如果在linux下有通过cmake编译好的caffe代码,在终端可以直接执行,输出结果,此处简介如何将相应的代码添加到qt中,以开发界面使用

1、打开qt creator,正常步骤创建项目工程。
2、将已有的代码,复制到项目工程的文件夹,qt界面单击项目名称,右键add new添加相应的头文件已经源代码
3、最重要的是在.pro文件中添加相应的库,见下图
如果在linux下有通过cmake编译好的caffe代码,在终端可以直接执行,输出结果,此处简介如何将相应的代码添加到qt中,以开发界面使用

1、打开qt creator,正常步骤创建项目工程。
2、将已有的代码,复制到项目工程的文件夹,qt界面单击项目名称,右键add new添加相应的头文件已经源代码
3、最重要的是在.pro文件中添加相应的库,见下图


库添加完成,基本没问题,可编译运行,
4、错误解决方法:
问题一、
undefined reference to "" libcaffe.so 等相关信息,可继续查一下缺了什么库,对应的添加进去;
之前我缺少了libcublas.so跟libcurand.so这两个库,出现了一堆错误,可根据错误名称的相同部分,来确定库。例如缺少libcublas.so库,报错的问题基本会以cublas开头;
问题二、
代码可编译通过,但在执行的时候,出现错误:
error while loading shared libraries: libcudart.so.6.5: cannot open shared object file: No such file or directory
这是说执行的时候,找不到库了,所以要告诉系统具体路径,具体方法:
首先,找到libcudart.so.6.5的位置,我的位置在/usr/local/cuda-6.5/lib
然后,sudo vim /etc/ld.so.conf.d/cuda_lib.conf,在文档里面添加路径目录:/usr/local/cuda-6.5/lib
最后,终端执行:sudo ldconfig

还有个问题是找不到libcaffe.so.***的库,解决方法同问题二。总之,就是一大堆库的问题,各种坑,慢慢解决就好!!!