我正在尝试为iOS构建动态库,并结合体系结构
-
armv7
-
armv7s
-
arm64
-
i386
-
x86_64
这是我的目标的构建设置
如您所见,我已将x86_64和i386添加到体系结构和有效体系结构中,同时“仅构建活动体系结构”设置为 NO
.
因此,在构建我的二进制文件之后,我通过在终端中运行 file myDl.dylib
来检查支持的体系结构
myDl.dylib (for architecture armv7): Mach-O dynamically linked shared library arm
myDl.dylib (for architecture arm64): Mach-O 64-bit dynamically linked shared library
所以这意味着它已经为armv7和arm64编译,并且 dlopen()
在模拟器上失败,错误"Unsupported architecture" .
我究竟做错了什么?
PS . 当我使用自定义构建脚本并使用"lipo"工具创建胖库时,它工作正常,但我不喜欢这种方式,我想让它在Xcode上正常工作 .
1 回答
在有效的体系结构中设置armv7,armv7s和arm64,并确保使用任何必须包含64位支持的第三方框架 .