gpt4 book ai didi

cocoa - 链接到 Leopard 的 libcrypto?

转载 作者:行者123 更新时间:2023-12-03 16:03:59 25 4
gpt4 key购买 nike

我使用的是 Mac OS X 10.6 SDK,并且我的部署目标设置为 Mac OS 10.5。我链接到 libcrypto(AquaticPrime 需要这个)并发现我的应用程序无法在 Leopard 上启动。错误是

dyld:未加载库:/usr/lib/libcrypto.0.9.8.dylib

我尝试了以下解决方法,但都不起作用:

  • 直接链接到 libcrypto.0.9.7.dylib(10.6 SDK 拒绝直接链接到 libcrypto.0.9.7.dylib
  • 将 10.5 SDK 版本的 libcrypto.0.9.7.dylib 复制到 10.6 lib 目录并尝试链接它(这次链接过程成功,但在 Leopard 中应用程序仍尝试查找不存在的 libcrypto.0.9.8.dylib 文件,因此不会启动)。
  • 从 Mac OS X 10.5.8 安装中复制 libcrypto.0.9.7.dylib 并与其链接(链接成功,但应用程序仍会查找 libcrypto.0.9.8 .dylib)。

有没有办法链接到该库并仍然使用 10.6 SDK?

谢谢。

最佳答案

根据这里的这个线程(线程中的第一篇文章:http://lists.apple.com/archives/cocoa-dev/2009/Aug/msg01737.html,“雪豹上的libcrypto”线程列表:http://lists.apple.com/archives/cocoa-dev/2009/Aug/thrd19.html),我相信解决方案是执行以下操作:

  1. 转到/Developer/SDKs/MacOSX10.5.sdk/usr/lib/。从此文件夹中,将“libcrypto.0.9.7.dylib”复制到您的项目源文件夹。

  2. 将您刚刚复制的文件重命名为“libmycrypto.dylib”。

  3. 将刚刚重命名的文件添加到您的项目中。确保从您的项目中删除任何其他链接的 libcrypto 框架。

  4. 检查您的build设置,并确保删除“-lcrypto”链接器标志。 (它通常放在“其他链接器标志”设置中。)

现在您应该能够构建您的项目,并且它可以在 10.5 和 10.6 上运行。

(libcrypto.0.9.7 在 10.5 和 10.6 上均可用。您复制的文件只是 header 的 stub ,但您只是链接到它,而不将其嵌入到您的由于链接器使用安装路径而不是 dylib 的实际文件名,因此将其命名为“libmycrypto.dylib”可以消除路径冲突,但仍然允许您链接所需的库。

FWIW,这是一个 Xcode 问题。您应该能够链接到/usr/lib/libcrypto.dylib(符号链接(symbolic link)),并让它在 10.5 和 10.6 上定位正确的 libcrypto 版本。然而,由于某种原因,当在 Snow Leopard 上构建时,Xcode 似乎总是链接到版本 0.9.8。)

关于cocoa - 链接到 Leopard 的 libcrypto?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2616738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com