使用 CMake 查找 OpenCV 包

问题描述 投票:0回答:2

我做了如下:

我已将 OpenCV_DIR 变量设置为我的构建路径,设置为 $(OPENCV_ROOT)/build/x86/vc11/lib。

在我的 CMakeLists.txt 中,我调用 find_package 函数:

find_package( OpenCV REQUIRED )

OpenCV连接的一些变量应该设置,但是设置不正确。前任。 OpenCV_INCLUDE_DIRS 应设置为

$(OPENCV_ROOT)/build/include 

$(OPENCV_ROOT)/include 

但它被设置为

$(OPENCV_ROOT)/build/x86/vc11/lib/include;$(OPENCV_ROOT)/x86/vc11/lib/include/opencv

怎样做才能拥有正确的道路?

c++ windows opencv visual-studio-2012 cmake
2个回答
0
投票

我从源代码构建了 OpenCV,以确保所有变量和选项都设置正确。出于解释目的,假设您的 CMAKE_INSTALL_PREFIX 设置为 C:/opencv/..这是您的 OpenCV_DIR 变量应该指向..

在您的系统环境路径中,添加 C:/opencv/bin/ (以便您计算机上的所有登录实例都可以访问它,并且根据我的经验,也使 VS 以后更容易识别它)到PATH变量..确保构建项目的调试版本和发布版本,并为两者构建INSTALL项目..

希望这有帮助。

旁注:为了轻松编辑路径,我使用名为 RapidEE

的免费软件

0
投票

我最近正在努力编译 OpenCV,以获得所需的最小模块,然后自动将其包含在我的项目中。我最终按照以下方式使用它:

CMakeLists.txt:

find_package(OpenCV CONFIG REQUIRED PATHS <path to the install dir>) 
target_link_directories(<target> PUBLIC
    ${OpenCV_LIB_DIRS}
    )
target_link_libraries(<target> 
    ${OpenCV_LIBS}
    )
target_include_directories(<target> PUBLIC
    ${OpenCV_INCLUDE_DIRS}
    )

使用cmake 3.16
OpenCV 4.x

© www.soinside.com 2019 - 2024. All rights reserved.