Python 如何强制CMake使用正确的OpenCV版本?
我正在尝试运行一个python脚本,该脚本使用其他人编写的自定义模块。我根据创建者的指示运行CMake创建了该模块。运行python脚本时,出现错误:Python 如何强制CMake使用正确的OpenCV版本?,python,opencv,cmake,Python,Opencv,Cmake,我正在尝试运行一个python脚本,该脚本使用其他人编写的自定义模块。我根据创建者的指示运行CMake创建了该模块。运行python脚本时,出现错误:ImportError:libopencv\u imgproc.so.3.1:无法打开共享对象文件:没有这样的文件或目录。此错误是由我先前创建的模块引起的。 因为我安装了OpenCV 3.2.0,所以没有这个名称的文件,所以在usr/local/lib中有libopencv_imgproc.so.3.2.0。我不知道如何解决这个问题,也不知道从哪里
ImportError:libopencv\u imgproc.so.3.1:无法打开共享对象文件:没有这样的文件或目录
。此错误是由我先前创建的模块引起的。
因为我安装了OpenCV 3.2.0,所以没有这个名称的文件,所以在usr/local/lib中有libopencv_imgproc.so.3.2.0。我不知道如何解决这个问题,也不知道从哪里开始寻找。模块的CMakeLists.txt有一行
查找\u包(需要OpenCV 3组件核心highgui imgproc)
我试着把它改成
find_包(需要OpenCV 3.2.0组件核心highgui imgproc)
没有成功。问题是模块的旧版本潜伏在python脚本实际查看的另一个文件夹中。这一定是以前在OpenCV 3.1环境中创建的。尝试使用
查找包(需要OpenCV)
?这不符合逻辑——模块是如何链接到一个根本不存在的库的?查找包()
以一种神秘的方式工作的。你能试着找到libopencv\u imgproc.so.3.1
,以确保没有这样的库吗?找到libopencv\u imgproc.so.3.1
没有找到任何东西。然而,想想看,OpenCV 3.1以前安装在这台机器上,但它是为另一个用户安装的。也许它没有被彻底移除?我在构建过程中检查了CMake输出:--Found OpenCV:/usr/local(Found version“3.2.0”)Found components:core highgui imgproc