問題描述:
在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...