我无法在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

我没有时间注册自己来报告此错误,但也许其他任何人都已经有帐户了吗?

07-24 09:44
查看更多