2017-05-04 112 views
0

我想使用opencv3.2的contrib部分,所以我必須從源代碼構建它。這是我的設置: windows10,vs2013,cmake-gui-3.8.1。 cmake-gui配置後,我點擊生成器按鈕,我得到下面的錯誤消息。我是opencv的新手,我無法弄清楚如何解決它。任何人都可以提供幫助,謝謝。使用cmake生成opencv3.2錯誤

E處

CMake的錯誤:/ Program Files文件/ OpenCV的/ OpenCV的/源/的OpenCV-3.2.0/cmake的/ OpenCVUtils.cmake:911(add_library): 找不到源文件:

E:/計劃文件/ OpenCV的/ OpenCV的/生成/模塊/ xfeatures2d/opencv_xfeatures2d_pch.cpp

試圖擴展的.c .C .C++ .CC的.cpp .CXX的.m .M .mm .H .hh .H ++ .hm .HPP 調用堆棧(最近調用優先): E:/ Program Files/opencv/opencv/source/opencv-3.2.0/cmake/OpenCVModule.cmake:784(ocv_add_library) E:/ Program文件/ OpenCV的/ OpenCV的/ SOU E:/ Program Files/opencv/opencv/source/opencv-3.2.0/cmake/OpenCVModule.cmake:940(ocv_create_module) E:\ Program Files \ opencv-3.2.0/cmake/OpenCVModule.cmake:729(_ocv_create_module) E:/Program Files/opencv/opencv/source/opencv_contrib-3.2.0/modules/xfeatures2d/CMakeLists.txt:2(ocv_define_module)

回答

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)缺失。