我想使用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)
答案 0 :(得分:1)
我在使用cmake中的contrib生成opencv解决方案时遇到了同样的问题。
对我而言,解决方案是:
说实话,我不知道到底发生了什么,但我会尝试做出有根据的猜测。
问题似乎是,当尝试构建opencv和opencv_contrib的“world”模块时,需要预编译头文件,这些文件在opencv_contrib的源包中缺失。对此的指示是,一旦选中了BUILD_opencv_contrib_world和BUILD_opencv_world,选项ENABLE_PRECOMPILED_HEADERS就会消失。显然,预编译的头文件(..._ pch.cpp)丢失了。