gpt4 book ai didi

macos - CMake 发现错误版本的 OpenCV

转载 作者:行者123 更新时间:2023-12-03 14:34:28 26 4
gpt4 key购买 nike

我安装了多个版本的 OpenCV,而 CMake 找到了错误的版本。我已经使用 brew 安装了 opencv 和 opencv3,它们存在于以下路径中:

/usr/local/opt/opencv3
/usr/local/opt/opencv

我的 CMakeLists.txt 如下所示:
cmake_minimum_required(VERSION 2.8)
set(ENV{OpenCV_DIR} "/usr/local/opt/opencv3")

project(TestProject)

#OpenCV
find_package( OpenCV 3 REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )

MESSAGE ( STATUS "Found OpenCV: ${OpenCV_VERSION}" )
MESSAGE ( STATUS "OpenCV_INCLUDE_DIRS= ${OpenCV_INCLUDE_DIRS}" )
MESSAGE ( STATUS "OpenCV_DIR= $ENV{OpenCV_DIR}" )

我使用 OpenCV_DIR 来指向我想使用的 OpenCV 的位置(在这个例子中,它是在之前设置的,只是为了 100% 确定这个变量指向正确的位置)。

我的输出是这样的:
-- Found OpenCV: 3.0.0
-- OpenCV_INCLUDE_DIRS= /usr/local/include/opencv
-- OpenCV_DIR= /usr/local/opt/opencv3

因此,它正在寻找正确版本的 OpenCV (3.0.0),但包含路径设置为其他一些 opencv,在这种情况下,/usr/local/include/opencv 指向/usr/local/opt/opencv,即2.4.8 版本。

结果,我的程序都没有找到要包含的正确文件!如果 OpenCV_DIR 环境变量似乎不起作用,有谁知道如何告诉 CMake 寻找哪个版本?

最佳答案

您可以在 find_package 中明确分配路径.例如,
find_package( OpenCV 3 REQUIRED PATHS "/usr/local/opt/opencv3" )

关于macos - CMake 发现错误版本的 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34687906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com