qt5.7+opencv的一个小坑 highgui

来源:互联网 发布:ios aes加密 解密算法 编辑:程序博客网 时间:2024/05/18 02:26

问题描述:
在opencv程序中调用highgui时,在命令行中使用cmake make一切正常,在qt5.7中出现问题。

分析
在linux下要自己编译opencv
在编译opencv时可以选择withQT的编译选项,这样highgui会默认使用qt的gui。
碰巧我的环境里有qt5.5 qt5.7,其中qt5.7又碰巧当时为了能够调试ros使用的是下面的安装方式(据说按照官方方式不会出现这个问题,但是配置ros会很麻烦)

sudo add-apt-repository ppa:beineri/opt-qt57-xenial  sudo add-apt-repository ppa:levi-armstrong/ppa  sudo apt-get update && sudo apt-get install qt57creator-plugin-ros

然后这个5.7版本的qt不会被cmake自动找到。然后在编译opencv时使用的cmake查找到的是我qt5.5,因此opencv里面的lib依赖的是qt5.5。所以会出现上述问题。

变通的解决办法
为了能在qt调试代码,在编译opencv时不要使用qt,使用vtk,装在usr/local/opencv_NoQT
然后在工程的CMakeLists.txt中添加

set(CMAKE_PREFIX_PATH "/usr/local/opencv_NoQT")
0 0
原创粉丝点击