你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

ubuntu18.0下,下载qt并配置opencv

2021-12-1 20:06:24

1.因为qt除了日常编译之外还需要用与编写ros的工作空间,故在https://ros-qtc-plugin.readthedocs.io/en/latest/_source/Improve-ROS-Qt-Creator-Plugin-Developers-ONLY.htm,这个网站上去找,我下载的相应的unbuntu下的qt版本,按照网站的教程即可。
2.查询电脑上的opencv版本

pkg-config opencv --modversion

3.查询电脑上opencv文件的安装路径

sudo find / -iname “opencv”

4.在qt中建立qt console application工程,并选用qmake编译,在生成的pro文件里添加以下内容

INCLUDEPATH += /usr/include \
                /usr/include/opencv
                /usr/include/opencv2


LIBS += /usr//lib/x86_64-linux-gnu/libopencv_* \

当时下载的opencv为3.2版本,qt编译的时候,出错:stdlib.h: No such file or directory。发现是因为opencv安装路径与#include_next “stdlib.h”冲突,把include_next顺序打乱了。
5.因此重新下载了opencv4.1,具体步骤如博客:https://blog.csdn.net/weixin_43793181/article/details/103108670/所示,亲测可用。
6.编译sudo ldconfig 的时候,可能会出现如下错误

/sbin/ldconfig.real: /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 is not a symbolic link

解决方案

sudo ln -sf /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.1 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.1 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-110.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.1 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.1 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.1 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.1 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8

做个记录,希望对大家有用。