2012-07-07 162 views
5

我無法用windows上的Cmake和MinGW編譯openCV。 我完全不明白我的錯誤,請看看:用CMake和minGW編譯OpenCV

好吧,我不能發表任何圖片。因此,這裏的錯誤:

CMake Error at cmake/OpenCVUtils.cmake:19 (if): 

如果給定的參數:

"C:/BuildOpenCV" "MATCHES" "^C:/Users/Corentin/Desktop/C_C++/openCV/opencv" "OR" "C:/BuildOpenCV" "MATCHES" "^C:/BuildOpenCV" 

正則表達式 「^ C:/用戶/ Corentin /桌面/ C_C++/OpenCV的/ OpenCV的」 不能 編譯 調用堆棧(最近一次調用第一): 的CMakeLists.txt:281(ocv_include_directories)

我的源目錄:C:/用戶/ Corentin /桌面/ C_C++/OpenCV的/ OpenCV的

在哪裏建立二進制文件:C:/ BuildOpenCV

你知道什麼會導致這類問題嗎?我是一個新用戶,我可能忘記了一些重要細節,請原諒我=)。

謝謝!

回答

20

令人驚訝的今天我同樣的錯誤,並搜查計算器一個解決方案...; O)

答案在於第二條錯誤消息中: 正則表達式「^ C:/用戶/ Corentin /桌面/ C_C++/OpenCV的/ OpenCV的」不能編譯

如你,沒有我的名字我的文件夾../C++/ ..

由於整個路徑輸入爲正則表達式,‘+’爲解釋爲「一個或多個字符」的正則表達式控制序列。因此++沒有意義,表達式不能編譯。

(快速)解決方案是將您的目錄重命名爲cpp或其他沒有控制字符的東西。

從我的角度來看,這是一個錯誤,因爲還可能有其他「控制字符」[]()。* + \ {}? (特別是在窗口中)的路徑字符串版本號:OpenCV-2.4.1

我沒有時間註冊自己報告錯誤,但也許其他人已經有一個帳戶?

+0

哇太棒了! 非常感謝,現在這個錯誤更有意義! – Shoz 2012-07-09 15:31:57

+0

拯救了我的生命。 – Justin 2015-01-27 05:05:51

+0

哇,它的工作。非常感謝。 – CroCo 2015-01-30 07:16:49