qt5 7 opencv的乙個小坑 highgui

2021-07-30 11:29:28 字數 782 閱讀 9216

問題描述:

在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")

MySQL 5 7 的另外乙個坑

看看下面這個 sql 語句 select distinct guid from table1 where user order by id desc這個 sql 語句在 mysql 5.6 以及之前的版本都可以正確執行。但是跑到 mysql 5.7 上就報什麼 order by 的字段不在 sele...

mongodb的乙個小坑

若collection裡有其他的資料,顯示時注意要往query裡新增true,並且需要放在最前面。解釋 下圖是名為test的collection裡面的資料。可以看到上面5條是一樣的資料,第6條是為了測試故意新增進去的。首先,當你執行命令db.getcollection test find 結果如下。...

Mybatis的乙個小坑

以前一直用的ibatis,前陣子才改用的mybatis,對於一些細節不太了解,所以踩了這個坑。廢話不多說,上 下面是出問題的sql語句 insert into g label obj relation his id label obj relation,id label,followed obj c...