【问题标题】:Finding package OpenCV with CMake使用 CMake 查找包 OpenCV
【发布时间】:2013-11-15 11:07:34
【问题描述】:

我做了如下:

我已将 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


    【解决方案1】:

    我最近在编译 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

    【讨论】:

      【解决方案2】:

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

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

      希望这会有所帮助。

      旁注:为了简单的路径编辑,我使用了一个名为RapidEE的免费软件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-17
        相关资源
        最近更新 更多