[英]Cmake can not find local version of opencv on ubuntu 18.04
我有一个版本的 OpenCV ((3.4.1) 编译并安装在 /home/m/locals/opencv
/home/m/locals/opencv 的内容是:
bin
include
lib
share
我有一个指向这个目录的环境:
echo $OPENCV_ROOT
/home/m/locals/opencv
我有一个尝试将 opencv 添加到项目的 cmake:
file(TO_CMAKE_PATH $ENV{OPENCV_ROOT} OpenCV_DIR)
set(BUILD_SHARED_LIBS OFF)
find_package(OpenCV COMPONENTS core highgui imgproc imgcodecs videoio photo stitching flann ml features2d calib3d objdetect REQUIRED)
当我运行 cmake 时,我收到此错误:
CMake Error at /usr/local/share/OpenCV/OpenCVModules.cmake:399 (message):
The imported target "opencv_core" references the file
"/usr/local/lib/libopencv_core.so.3.4.0"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/local/share/OpenCV/OpenCVModules.cmake"
but not all the files it references.
我的问题:
您可以按照export OpenCV_DIR=...
但是,它可能会影响其他需要3.4.0
。 而是在项目的CMakeLists.txt
设置变量
set(OpenCV_DIR /home/m/locals/opencv/share/OpenCV)
或者,您可以在运行cmake时手动设置变量:
cmake -D OpenCV_DIR=/home/m/locals/opencv/share/OpenCV ..
我通过完全删除 OpenCV 并从源代码构建它来解决这个问题。 这帮助我在 ubuntu 18.04 中安装了 OpenCV 3.3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.