5

我的应用程序在 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 构建?

4

1 回答 1

3

您是否也尝试将 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)
    [...]
于 2011-06-15T20:49:10.860 回答