发布网友 发布时间:2022-04-24 22:48
共2个回答
热心网友 时间:2023-10-13 23:06
编译的Xcode项目失败,出现以下错误: “缺少必需的架构arm在文件/用户/ * / Git/ocr/opencv2。 它运作良好,如果我改变架构(构建设置下)(ARMv7的,armv7s),而不是(ARMv7的,armv7s)。 如何更改opencv的python构建脚本,添加arm支持opencv2。
1. micahp的回答几乎是完美的,但错过了模拟器版本。因此,修改平台/ IOS /到: targets = ["iPhoneOS", "iPhoneOS", "iPhoneOS", "iPhoneSimulator", "iPhoneSimulator"]
archs = ["armv7", "armv7s", "arm", "i386", "x86_"]
你需要下载行工具Xcode的5.0.1,然后运行 python opencv/platforms/ios/build_framework.py ios
2. 我修改了以下内容,使之建立,虽然我还没有得到一个arm iOS设备进行测试的 编辑:我也只好跟着 假设“OPENCV”是包含从Github上的opencv源文件夹: 在每个gzlib.c, gzread.c, gzwrite.c位于opencv/3rdparty/zlib/地址: #include <unistd.h>
在顶部后,原有的包括。 另外开opencv/platforms/ios/cmake/Moles/Platform/iOS.cmake并从改线88: set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_BIT)" CACHE string "Build architecture for iOS")
到: set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_INCLUDING__BIT)" CACHE string "Build architecture for iOS")
在另外改变buildscriptopencv/platforms/ios/build_framework.py在99线和100从: targets = ["iPhoneOS", "iPhoneOS", "iPhoneSimulator"]
archs = ["armv7", "armv7s", "i386"]
到: targets = ["iPhoneOS", "iPhoneOS", "iPhoneOS", "iPhoneSimulator", "iPhoneSimulator"]
archs = ["armv7", "armv7s", "arm", "i386", "x86_"]
所得到的库将包括以下内容: $ xcrun -sdk iphoneos lipo -info opencv2
Architectures in the fat file: opencv2 are: armv7 armv7s i386 x86_ arm
虽然我有一个关于剩余的关注opencv/platforms/ios/cmake/Toolchain-iPhoneOS_Xcode.cmake它定义了一个数据指针的大小为4的行14和17。它应该是8的位我想,这样我没有测试过,如果库工作arm我会建议进一步研究在这一点上,如果它不能正常运行。
3. 尝试等待下个月。将发布新的XCode具有更强大的32/位支持。
4. 修改“到: def build_framework(srcroot, dstroot):
"main function to do all the work"
targets = ["iPhoneOS", "iPhoneOS", "iPhoneOS", "iPhoneSimulator"]
archs = ["armv7", "armv7s", "arm", "i386"]
for i in range(len(targets)):
build_opencv(srcroot, os.path.join(dstroot, "build"), targets[i], archs[i])
put_framework_together(srcroot, dstroot)
热心网友 时间:2023-10-13 23:06
如果是从官方库签出的OpenCV并且不怕麻烦的话,也可以使用官方的脚本完成编译,具体可以参看下载的/opencv/ios/readme.txt文件。