尝试使用CMake和NMake与commnads构建OpenCV 3.0:
cmake -DCMAKE_BUILD_TYPE=release -G "NMake Makefiles" -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_java=OFF -DWITH_MSMF=OFF -DWITH_DSHOW=OFF -DWITH_VFW=OFF DWITH_OPENEXR=OFF -DWITH_CUDA=OFF ..
和
nmake
我懂了
...
-- Configuring done
-- Generating done
-- Build files have been written to: W:/VSONLINE/Passport-Photo/thirdparty/openc
v-3.0.0/build
nmake
Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.
Scanning dependencies of target zlib
[ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.obj
adler32.c
[ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/compress.c.obj
compress.c
[ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/crc32.c.obj
crc32.c
[ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/deflate.c.obj
deflate.c
[ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzclose.c.obj
gzclose.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzlib.c.obj
gzlib.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzread.c.obj
gzread.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzwrite.c.obj
gzwrite.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inflate.c.obj
inflate.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/infback.c.obj
infback.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inftrees.c.obj
inftrees.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inffast.c.obj
inffast.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/trees.c.obj
trees.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/uncompr.c.obj
uncompr.c
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/zutil.c.obj
zutil.c
[ 2%] Linking C static library ..\lib\zlib.lib
The system cannot find the path specified.
NMAKE : fatal error U1077: 'cd' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0
\VC\BIN\nmake.exe"' : return code '0x2'
知道我在做什么错吗?我尝试使用Visual Studio 2010和2013获得完全相同的结果。
更新如果将生成器更改为“ Visual Studio 10 2010”或任何其他版本的Visual Studio,然后使用msbuild.exe OpenCV.sln
它进行构建,则所有构建均成功完成。这是内部的问题nmake
还是cmake
?
显然,这是一个已知的错误(问题5496),已被标记为wontfix
。用户MarianMMX在评论中建议了以下解决方法:
- 打开CMakeLists.txt。
- 转到第70行。(注意:在我的情况下是90行,因此最好进行文本搜索)
评论(或删除):
#if(MSVC) # set(CMAKE_USE_RELATIVE_PATHS ON CACHE INTERNAL "" FORCE) #endif()
删除生成的文件,然后重新运行cmake。
应用上述解决方法后,我已成功使用(VS2010和VS2013)编译了OpenCV 3.0.0nmake
:
> cmake -G"NMake Makefiles" <other options> <opencv src dir>
...
> nmake
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句