如何为 Watch OS 2 模拟器构建 openssl 库?
Posted
技术标签:
【中文标题】如何为 Watch OS 2 模拟器构建 openssl 库?【英文标题】:How to build openssl library for Watch OS 2 simulator? 【发布时间】:2015-10-12 16:14:33 【问题描述】:我想从这个 github 为 watch OS 2 构建 openssl 库: https://github.com/nachocove/ios-openssl
它在 Xcode 7 beta 的第一个版本中工作,但现在我得到了:
ld:在 /../testWatchOS WatchKit Extension/ios-openssl/lib/libcrypto.a(bn_lib.o) 中,为 watchOS 模拟器构建,但在为 iOS 构建的目标文件中链接,适用于体系结构 i386
Google 2 小时,尝试不同的 SDK 路径无济于事。
【问题讨论】:
【参考方案1】:你可以试试这个:https://github.com/mkhon/Python-iOS-Support 它包含用于 tvOS 和 watchOS 的 OpenSSL.framework Makefile 胶水,包括模拟器(查看自述文件)。
【讨论】:
您好 Max,感谢您的回答。 make 时出现此错误:$ make make: *** No rule to make targetdist/iOS/Python.framework', needed by
Python-3.4.2-iOS-support.b3.tar.gz'。停止。
BillChan,如果你想从这个 repo 为 watchOS 构建 OpenSSL,你需要运行“make OpenSSL.framework-watchOS”。检查自述文件。
你好 Max,我也阅读了自述文件,但运行“make OpenSSL.framework-watchOS”时出现错误 # 修补应用程序/speed.c 以不使用 fork(),因为它在tvOS sed -ie 's/define HAVE_FORK 1/define HAVE_FORK 0/' build/watchOS/openssl-1.0.2d-watchsimulator.i386/apps/speed.c # 补丁配置为构建 tvOS 或 watchOS,而不是 iOS LANG=C sed -ie 's/-D_REENTRANT:iOS/-D_REENTRANT:watchOS/' build/watchOS/openssl-1.0.2d-watchsimulator.i386/配置 sed: RE 错误: 非法字节序列 make: *** [build/watchOS/ openssl-1.0.2d-watchsimulator.i386/Makefile] 错误 1
BillChan,你的 sed 有问题。 'which sed' 是什么意思?
看起来像默认路径:/usr/bin/sed【参考方案2】:
受@Max Khon 作品的启发。我还分叉了 ios-openssl github,使其适用于 Watch OS 和模拟器:
https://github.com/billchan/ios-openssl/tree/WatchOS
以及适用于 iOS 和 WatchOS 的通用库
https://github.com/billchan/ios-openssl
【讨论】:
以上是关于如何为 Watch OS 2 模拟器构建 openssl 库?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Mac OS X 构建 Audacity 应用程序源代码