【问题标题】:Building OpenSSL dylibs for iOS Simulator为 iOS 模拟器构建 OpenSSL dylib
【发布时间】:2016-05-25 00:33:35
【问题描述】:

我使用的构建脚本来自:

https://github.com/x2on/OpenSSL-for-iPhone

此时,我只对构建 iOS 模拟器的 dylib 感兴趣,因为我使用的是 Delphi,iOS 模拟器的编译器似乎不支持静态绑定到 .a 文件。

我已经“入侵”到 build-libssl.sh 来调用:

./config 共享

在“make depend”调用之前,它会构建 libcrypto dylib,而不是 libssl dylib。

在 dylib 上使用“file”命令报告它是针对 i386 的;可以在模拟器中使用的有区别吗,还是应该是一样的?

【问题讨论】:

    标签: ios openssl ios-simulator dylib


    【解决方案1】:

    我给你的最简单的建议是,不要执行“xcrun -sdk iphoneos ...”,而应该运行“xcrun -sdk iphonesimulator ...”

    您可能还想查看我在cross compile libgcrypt static lib for use on iOS 中的回答

    【讨论】:

    • 当我这样做时,包括我上面的更改,我得到了日志的末尾:在crypto/pqueue中安装...在crypto/ts中安装...在crypto中安装/srp...在crypto/cmac中安装...在ssl中安装...在引擎中安装...安装4758cca cp:lib4758cca.dylib:没有这样的文件或目录make[1]:*** [ install] 错误 1 ​​make: *** [install_sw] 错误 1
    • 我设法使用您在其他 SO 帖子中的建议将 libressl 编译为 dylibs,谢谢!但是,我用来调用 libssl 和 libcrypto 的库存在问题,所以我希望能够从 OpenSSL 构建 dylib。
    • 如果您动态构建它们,您需要将它们的标识符更改为 @rpath-relative 并更新您的链接选项以在您的二进制文件中适当地设置 rpath 加载命令。
    • 不知道你说的是libressl还是openssl。如果是 libressl,则 dylib 加载正常;这是导致问题的运行时错误,即: SSL3_GET_KEY_EXCHANGE:bad dh p length。如果您指的是 OpenSSL,您是在描述我需要对构建脚本进行的更改吗?
    • 我提到的关于 dylib id 的问题与您在捆绑包中发布的所有库有关。它不是特定于 OpenSSL 或 libressl。
    猜你喜欢
    • 2021-09-06
    • 2014-05-30
    • 1970-01-01
    • 2022-06-23
    • 2013-09-11
    • 1970-01-01
    • 2021-01-27
    • 2022-11-09
    • 2020-07-11
    相关资源
    最近更新 更多