【问题标题】:error in using cmake to build opencv3.2使用cmake构建opencv3.2时出错
【发布时间】:2017-06-02 04:21:30
【问题描述】:

我想使用 opencv3.2 的 contrib 部分,所以我必须从源代码构建它。这是我的设置: windows10,vs2013,cmake-gui-3.8.1。 在 cmake-gui 中配置后,我单击生成器按钮,我收到下面的错误消息。我是opencv的新手,我不知道如何解决它。任何可以提供帮助的人,谢谢。

E:/Program Files/opencv/opencv/source/opencv-3.2.0/cmake/OpenCVUtils.cmake:911 (add_library) 处的 CMake 错误: 找不到源文件:

E:/Program Files/opencv/opencv/build/modules/xfeatures2d/opencv_xfeatures2d_pch.cpp

尝试过的扩展 .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx 调用堆栈(最近的调用优先): E:/Program Files/opencv/opencv/source/opencv-3.2.0/cmake/OpenCVModule.cmake:784 (ocv_add_library) E:/Program Files/opencv/opencv/source/opencv-3.2.0/cmake/OpenCVModule.cmake:729 (_ocv_create_module) E:/Program Files/opencv/opencv/source/opencv-3.2.0/cmake/OpenCVModule.cmake:940 (ocv_create_module) E:/Program Files/opencv/opencv/source/opencv_contrib-3.2.0/modules/xfeatures2d/CMakeLists.txt:2 (ocv_define_module)

【问题讨论】:

    标签: opencv3.0


    【解决方案1】:

    我在 cmake 中使用 contrib 生成 opencv 解决方案时遇到了同样的问题。

    对我来说,解决方案是:

    • 删除构建目标文件夹的内容,
    • 重启cmake
    • 取消选中 3 个选项:BUILD_opencv_world, ,ENABLE_PRECOMPILED_HEADERS

    说实话,我不知道到底发生了什么,但我会尽量给出一个有根据的猜测。

    问题似乎是,当尝试构建 opencv 和 opencv_contrib 的“世界”模块时,需要预编译头文件,而 opencv_contrib 的源包中缺少这些头文件。这表明,只要检查了 BUILD_opencv_contrib_world 和 BUILD_opencv_world,选项 ENABLE_PRECOMPILED_HEADERS 就会消失。显然预编译的头文件(..._pch.cpp)丢失了。

    【讨论】:

      猜你喜欢
      • 2014-04-22
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 2017-09-16
      相关资源
      最近更新 更多