Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何强制CMake使用正确的OpenCV版本?_Python_Opencv_Cmake - Fatal编程技术网

Python 如何强制CMake使用正确的OpenCV版本?

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。我不知道如何解决这个问题,也不知道从哪里

我正在尝试运行一个python脚本,该脚本使用其他人编写的自定义模块。我根据创建者的指示运行CMake创建了该模块。运行python脚本时,出现错误:
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