抱歉,新電腦剛裝了一個googlepinyin,居然是繁體字,難得該了,大家湊合看吧
背景:在編譯開源項目suma++時。總會報一個opencv的錯誤:
CMake Warning at /home/weijian/caoqiku/semantic_suma/src/rangenet_lib/CMakeLists.txt:155 (find_package):
Found package configuration file:
/usr/local/share/OpenCV/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
然後在我google搜索時,發現不少和我這裏報一模一樣的錯誤。而他們的解決方案基本都是(我沒看到第二種解決方案):在CMakeLists.txt中爲opencv指定路徑,set(OpenCV_DIR /.../.../)
如臺部落 中:
以上爲終端中的報錯信息,系統爲ubuntu,opencv已安裝測試過.
解決方法:
在CMakeLists.txt中find_package( OpenCV REQUIRED )這行代碼後面添加一行代碼指定OpenCV 的路徑。
我的是添加這一行set(OpenCV_DIR /usr/local/share/OpenCV)
在我的電腦上默認OpenCV 安裝在/usr/local/share/OpenCV路徑下的。
但是類是的方案對我並不起作用
卻一直在報這一個錯誤,身爲小白的我真的很頭疼!於是在cmakelists中加一些打印信息,確實在find_package()這裏的問題。
find_package(OpenCV COMPONENTS core viz),有經驗的兄弟一眼就看出來了是不是缺少了viz呢,但是我不知道裝opencv時是默認不裝viz的!!!!經過痛苦的摸索發現就是缺少viz
安裝viz:
1. 查看opencv版本和安裝位置(因爲臨時用別人的電腦我不知道這些信息)
# 版本
pkg-config opencv --modversion
# 路徑
sudo find / -iname "*opencv*"
找到了位置:/home/weijian/chenxiaocong/opencv3.4.14/doc/tutorials/imgproc/histograms/...
(看名字是我師兄安裝的)
然後進入/home/weijian/chenxiaocong/opencv3.4.14/build的目錄,執行
# 安裝 vtk --在opencv4.0之前,安裝viz都需要依賴vtk,也可源碼安裝vtk
# 使用tab補全 看看你的電腦apt中是哪個版本,下載下來
sudo apt install vtk...
# 然後
cmake -DWITH_VTK=ON ..
# make
make
# 安裝覆蓋之前的
sudo make install
終於解決問題了,所以報這個錯誤不一定是找不到opencv,也有可能是缺少依賴,寫出來爲大家避免踩吭。