Mac OS X libcurl dylib 兼容版本

发布于 2024-11-16 03:43:48 字数 670 浏览 2 评论 0原文

我的应用程序在 10.6 上构建并运行良好。我将 Base SDK 设置为 10.6,将 Mac OS X 部署目标设置为 10.5。

我的应用程序使用系统 libcurl.dylib — 我没有将 dylib 添加到项目中,而是将 -lcurl 添加到构建设置中的链接器标志中。 (虽然我已经尝试过两种方法。)

当我在 10.5.8 上启动应用程序时,出现以下错误

Dyld 错误消息:未加载库:/usr/lib/libcurl.4.dylib

引用自:/Applications/My Application.app/Contents/MacOS/MyApplication

原因:库版本不兼容:

MyApplication 需要版本 6.0.0 或 稍后,但 libcurl.4.dylib 提供 版本5.0.0

果然,如果我 otool -L 应用程序的二进制文件,我会得到以下 libcurl 信息:

/usr/lib/libcurl.4.dylib(兼容版本6.0.0,当前版本6.1.0)

有什么办法可以解决这个问题,或者我应该静态链接我自己的 libcurl 版本?

My application builds and runs fine on 10.6. I have Base SDK set to 10.6 and Mac OS X Deployment Target set to 10.5.

My application uses the system libcurl.dylib — instead of adding the dylib to the project, I just add -lcurl to the linker flags in build settings. (Though I have tried it both ways.)

When I launch the application on 10.5.8, I get the following error

Dyld Error Message: Library not loaded: /usr/lib/libcurl.4.dylib

Referenced from: /Applications/My Application.app/Contents/MacOS/MyApplication

Reason: Incompatible library version:

MyApplication requires version 6.0.0 or
later, but libcurl.4.dylib provides
version 5.0.0

Sure enough, if I otool -L the application's binary, I get the following for libcurl:

/usr/lib/libcurl.4.dylib (compatibility version 6.0.0, current version 6.1.0)

Is there any way around this, or should I just statically link my own libcurl build?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寒江雪… 2024-11-23 03:43:48

您是否也尝试过将 Base SDK 设置为 10.5?

$ otool -L /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.4.dylib
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.4.dylib:
    /usr/lib/libcurl.4.dylib (compatibility version 6.0.0, current version 6.1.0)
    ...]
$ otool -L /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.dylib:
    /usr/lib/libcurl.4.dylib (compatibility version 5.0.0, current version 5.0.0)
    [...]

Have you tried setting the Base SDK to 10.5 as well?

$ otool -L /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.4.dylib
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.4.dylib:
    /usr/lib/libcurl.4.dylib (compatibility version 6.0.0, current version 6.1.0)
    ...]
$ otool -L /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.dylib:
    /usr/lib/libcurl.4.dylib (compatibility version 5.0.0, current version 5.0.0)
    [...]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文