我想为QT编译opencv。我使用本教程
http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml
在步骤8中我有这个错误:
C:\opencv_bin1>mingw32-make
[ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.obj
'C:\Users\' is not recognized as an internal or external command,
operable program or batch file.
3rdparty\zlib\CMakeFiles\zlib.dir\build.make:53: recipe for target
'3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.obj' failed mingw32-make[2]: *** [3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.obj] Error 1 CMakeFiles\Makefile2:269: recipe for target '3rdparty/zlib/CMakeFiles/zlib.dir/all' failed mingw32-make[1]: *** [3rdparty/zlib/CMakeFiles/zlib.dir/all] Error 2 makefile:112: recipe for target 'all' failed mingw32-make: *** [all] Error 2
我认为它来自路径变量,但我没有看到它的错误。 任何想法?
EDIT
当我使用make而不是mingw32-make时:
path variables:
用户变量:
C:\opencv\build\x64\vc10\bin\;C:\opencv\build\common\tbb\intel64\vc10\;C:\ffmpeg\bin;C:\op
ncv\build\x64\vc10\bin\;c:\Program Files\Microsoft Visual Studio
10.0\Common7\Tools\;C:\jom\jom.exe\;C:\Windows\System32\;C:\Program Files (x86)\CMake
2.6\bin\;C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin\;C:\Qt\Qt5.0.1\Tools\MinGW\bin\;
系统变量:
C:\Borland\Delphi7\Bin;C:\Borland\Delphi7\Projects\Bpl\;C:\Inprise\vbroker\bin;C:\Qt\Qt5.0.
1\5.0.1\mingw47_32\bin;C:\Qt\Qt5.0.1\Tools\MinGW\bin;C:\Program Files (x86)\CMake
2.8\bin\;C:\Windows\System32\;
我下载msys并将其bin文件夹添加到路径。现在,当我进入opencv目录并输入make it write:
C:\opencv_Bin>make
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
答案 0 :(得分:1)
改为使用make
(即来自MSYS发行版的那个),并避免将来使用mingw32-make
(来自MinGW发行版)以避免路径问题。事实上,mingw32-make
还有其他一些陷阱,包括缺少功能,你肯定不想处理它。摘自MinGW Wiki:
make和mingw32-make有什么区别?
make的“本机”(即:MSVCRT依赖)端口缺少某些功能,并且由于Win32上缺少POSIX而具有修改的功能。 MSYS发行版中还存在一个依赖于MSYS运行时的make版本。该端口的操作更多,因为make旨在操作并且在执行期间减少了麻烦。基于此,MinGW开发人员/维护者/打包者决定最好重命名本机版本,以便“本机”版本和MSYS版本可以同时出现,而不会发生文件名冲突。
因此,您想要的是让CMake使用MSYS Makefiles
生成器,而不是MinGW Makefiles
。
您的make
环境变量中有一些错误PATH
。看看:Inprise Corp.
,那是什么!@#$?无论是什么,它绝对不是MSYS make
。清理PATH
并确保其中包含MSYS make
。通过运行make --version
进行检查,您会看到以下内容:
GNU Make 3.82.90
Built for i686-pc-msys
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.