gpt4 book ai didi

c++ - cmake find_package 指定路径

转载 作者:IT老高 更新时间:2023-10-28 23:18:37 33 4
gpt4 key购买 nike

我的机器上安装了 2 个版本的 OpenCV。一个在 /usr/local/opencv3.1 中。我假设另一个(版本 3.4)的安装位置是 /usr/local。无论如何,find_package(OpenCV 3.0 REQUIRED) 设置 OpenCV_DIR:PATH=/usr/local/share/OpenCV。此文件夹包含:

haarcascades  OpenCVConfig.cmake          OpenCVModules-release.cmake
java OpenCVConfig-version.cmake valgrind_3rdparty.supp
lbpcascades OpenCVModules.cmake valgrind.supp

在这种情况下,使用版本 3.4。如何在 CMakeLists.txt 中指定使用其他版本(3.1)知道它的安装位置?我试过了:

find_package(OpenCV 3.0 REQUIRED PATH /usr/local/opencv3.1)

返回错误:

Could NOT find OpenCV (missing: PATH /usr/local/opencv3.1) (found suitable version "3.4.1", minimum required is "3.0")

set(OpenCV_DIR /usr/local/opencv3.1/OpenCV/*) # also tried OpenCV_ROOT_DIR, OPENCV_ROOT_DIR
find_package(OpenCV 3.0 REQUIRED)

什么都不做。它仍然找到版本 3.4。我会很感激任何帮助。谢谢。

最佳答案

find_package documentation你有你可以设置一个要搜索的路径 PATHS 你错过了 S... 你也可以做类似的事情:

find_package (<package> PATHS paths... NO_DEFAULT_PATH)
find_package (<package>)

它将检查您首先编写的路径,如果找到它将设置 found 为 true 并且将跳过第二条指令。

此外,您可以使用 EXACT 选项来匹配特定版本,以防它由于是较新版本而尝试选择 3.4。

find_package(OpenCV 3.1 EXACT REQUIRED PATHS /usr/local/opencv3.1)

希望对你有帮助,如果没有,请写评论

关于c++ - cmake find_package 指定路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49816206/

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