我正在尝试为Xcode构建opencv框架.我是Mac世界和opencv的新手.我按照给出的说明进行操作
http://docs.opencv.org/doc/tutorials/introduction/ios_install/ios_install.html
我克隆了存储库(opencv 2.4.7),然后尝试运行python脚本 - 根据链接上的说明
python opencv/platforms/ios/build_framework.py ios
我得到以下错误,有人可以帮忙吗?我使用的是OSX 10.8.5
Applications/gebos_third_party_apps/opencv/3rdparty/zlib/gzwrite.c:84:15:注意:你的意思是'fwrite'吗?got = write(state-> fd,strm-> next_in,strm-> avail_in); ^ ~~~~ fwrite包含在/Applications/gebos_third_party_apps/opencv/3rdparty/zlib/gzwrite.c:6中的文件:/Applications/gebos_third_party_apps/opencv/3rdparty/zlib/gzguts.h:21中包含的文件:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr/include/stdio.h:252:9:注意:'fwrite'在这里声明size_t fwrite(const void*__restrict,size_t,size_t,FILE*__restrict)__DARWIN_ALIAS(fwrite); ^ /Applications/gebos_third_party_apps/opencv/3rdparty/zlib/gzwrite.c:573:9:错误:函数'close'的隐式声明在C99中无效[-Werror,-Wimplicit-function-declaration] if(close- state- state- > fd)== -1)生成^ 2错误.
** INSTALL FAILED ** The following build commands failed: CompileC /Applications/gebos_third_party_apps/ios/build/iPhoneSimulator-x86_64/3rdparty/zlib/OpenCV.build/Release-iphonesimulator/zlib.build/Objects-normal/x86_64/gzwrite.o3rdparty/zlib/gzwrite.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler CompileC /Applications/gebos_third_party_apps/ios/build/iPhoneSimulator-x86_64/3rdparty/zlib/OpenCV.build/Release-iphonesimulator/zlib .build/Objects-normal/x86_64/gzlib.o 3rdparty/zlib/gzlib.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler CompileC/Applications/gebos_third_party_apps/ios/build/iPhoneSimulator-x86_64/3rdparty /zlib/OpenCV.build/Release-iphonesimulator/zlib.build/Objects-normal/x86_64/gzread.o 3rdparty/zlib/gzread.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler(3次失败)Traceback(最近调用最后一次):文件"opencv-lib/opencv/platforms/ios/build_framework.py",第112行,在build_framework中(os.path.abspath(os.path.join(os.path.dirname( sys.argv [0]),"../ ..")),os.path.abspath(sys.argv [1]))文件"opencv-lib/opencv/platforms/ios/build_framework.py",行104,在build_framework中put_framework_together(srcroot,dstroot)文件"opencv-lib/opencv/platforms/ios/build _framework.py",第80行,在put_framework_together shutil.copytree(tdir0 +"/ install/include/opencv2",dstdir +"/ Headers")文件"/System/Library/Frameworks/Python.framework/Versions/2.7/lib /python2.7/shutil.py",第168行,在copytree名称= os.listdir(src)OSError:[Errno 2]没有这样的文件或目录:'../build/iPhoneOS-arm64/install/include/opencv2 "
Kaolin Fire.. 8
遗憾的是,除了直接修复zlib警告之外,解决此问题的最佳方法是添加-Wno-implicit-function-declaration
到C_FLAGS ...这可以添加到cmakeargs列表中的build_framework.py -DCMAKE_C_FLAGS=\"-Wno-implicit-function-declaration\"
:
cmakeargs = ("-GXcode " + "-DCMAKE_BUILD_TYPE=Release " + "-DCMAKE_C_FLAGS=\"-Wno-implicit-function-declaration\" " + "-DCMAKE_TOOLCHAIN_FILE=%s/platforms/ios/cmake/Toolchains/Toolchain-%s_Xcode.cmake " + "-DBUILD_opencv_world=ON " + "-DCMAKE_INSTALL_PREFIX=install") % (srcroot, target)
.....
遗憾的是,除了直接修复zlib警告之外,解决此问题的最佳方法是添加-Wno-implicit-function-declaration
到C_FLAGS ...这可以添加到cmakeargs列表中的build_framework.py -DCMAKE_C_FLAGS=\"-Wno-implicit-function-declaration\"
:
cmakeargs = ("-GXcode " + "-DCMAKE_BUILD_TYPE=Release " + "-DCMAKE_C_FLAGS=\"-Wno-implicit-function-declaration\" " + "-DCMAKE_TOOLCHAIN_FILE=%s/platforms/ios/cmake/Toolchains/Toolchain-%s_Xcode.cmake " + "-DBUILD_opencv_world=ON " + "-DCMAKE_INSTALL_PREFIX=install") % (srcroot, target)
.....