我无法在Windows上使用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:/ Users / Corentin / Desktop / C_C++ / openCV / opencv”不能
编译
call 堆栈(最近的 call 优先):
CMakeLists.txt:281(ocv_include_directories)
我的源目录:C:/ Users / Corentin / Desktop / C_C++ / openCV / opencv
在哪里生成二进制文件:C:/ BuildOpenCV
您是否知道会导致这种问题的原因?我是新用户,我可能忘记了一些重要的细节,请原谅我=)。
谢谢 !
最佳答案
出乎意料的是,我今天遇到了同样的错误,并在stackoverflow上搜索了解决方案...; o)
答案在第二条错误消息中:
无法编译正则表达式“^ C:/ Users / Corentin / Desktop / C_C++ / openCV / opencv”
和您一样,我是否将文件夹命名为../C++/ ..
由于将整个路径输入为正则表达式,因此“+”被解释为“一个或多个字符”的正则表达式控制序列。因此,++没有意义,表达式无法编译。
(快速)解决方案是将目录重命名为cpp或其他没有控制字符的目录。
从我的 Angular 来看,这是一个错误,因为可能还有其他“控制字符” []()。* + \ {}? (特别是在Windows中)在路径字符串中,即版本号:OpenCV-2.4.1
我没有时间注册自己来报告此错误,但也许其他任何人都已经有帐户了吗?