5

我无法在 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”无法编译调用堆栈(最近调用优先):CMakeLists.txt:281 (ocv_include_directories)

我的源目录:C:/Users/Corentin/Desktop/C_C++/openCV/opencv

在哪里构建二进制文件:C:/BuildOpenCV

你知道什么会导致这种问题吗?我是新用户,我可能忘记了一些重要的细节,请原谅我=)。

谢谢 !

4

1 回答 1

21

令人惊讶的是,我今天遇到了同样的错误,并在 stackoverflow 上搜索了解决方案... ;o)

答案在第二条错误信息中:Regular expression "^C:/Users/Corentin/Desktop/ C_C++ /openCV/opencv" cannot compile

和你一样,我是否将我的文件夹命名为 ../C++/..

由于整个路径是作为正则表达式输入的,因此“+”被解释为“一个或多个字符”的正则表达式控制序列。因此 ++ 没有意义,表达式无法编译。

(快速)解决方案是将您的目录重命名为 cpp 或其他不带控制字符的名称。

从我的角度来看,这是一个错误,因为还可能有其他“控制字符”[]().*+\{}? (特别是在 Windows 中)在路径字符串中,即版本号:OpenCV-2.4.1

我没有时间注册自己以报告错误,但也许其他人已经有一个帐户?

于 2012-07-09T14:00:05.090 回答