TUN*_*R88 2 python opencv ios ios7
编译Xcode项目失败并出现以下错误: '缺少文件/ Users/* /Git/ocr/opencv2.framework/opencv2中所需的架构arm64'
它运行良好,如果我将架构(在Build Settings下)更改为(armv7,armv7s)而不是(armv7,armv7s).
如何更改opencv python构建脚本,为opencv2.framework添加arm64支持?
我修改了以下内容以使其构建,尽管我目前还没有 arm64 iOS 设备进行测试。
编辑:我也必须遵循/sf/answers/1191779641/
假设“opencv”是包含来自 Github 的 opencv 源的文件夹:
在每个gzlib.c, gzread.c, gzwrite.c
位于opencv/3rdparty/zlib/
添加:
#include <unistd.h>
Run Code Online (Sandbox Code Playgroud)
在现有包含之后的顶部。
另外打开opencv/platforms/ios/cmake/Modules/Platform/iOS.cmake
和更改第 88 行:
set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_BIT)" CACHE string "Build architecture for iOS")
Run Code Online (Sandbox Code Playgroud)
到:
set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_INCLUDING_64_BIT)" CACHE string "Build architecture for iOS")
Run Code Online (Sandbox Code Playgroud)
此外,将第opencv/platforms/ios/build_framework.py
99 行和第 100 行中的构建脚本从:
targets = ["iPhoneOS", "iPhoneOS", "iPhoneSimulator"]
archs = ["armv7", "armv7s", "i386"]
Run Code Online (Sandbox Code Playgroud)
到:
targets = ["iPhoneOS", "iPhoneOS", "iPhoneOS", "iPhoneSimulator", "iPhoneSimulator"]
archs = ["armv7", "armv7s", "arm64", "i386", "x86_64"]
Run Code Online (Sandbox Code Playgroud)
生成的库将包括以下内容:
$ xcrun -sdk iphoneos lipo -info opencv2
Architectures in the fat file: opencv2 are: armv7 armv7s i386 x86_64 arm64
Run Code Online (Sandbox Code Playgroud)
尽管我仍然担心opencv/platforms/ios/cmake/Toolchain-iPhoneOS_Xcode.cmake
在第 14 行和第 17 行中哪个将数据指针的大小定义为 4。我猜应该是 8 64 位,所以我还没有测试编译的库是否适用于 arm64 我会如果运行不正常,建议此时进行进一步调查。
归档时间: |
|
查看次数: |
10233 次 |
最近记录: |