我的应用程序在10.6上构建并运行良好。我将Base SDK设置为10.6,将Mac OS X部署目标设置为10.5。
我的应用程序使用系统libcurl.dylib - 我只是将-lcurl
添加到构建设置中的链接器标志,而不是将dylib添加到项目中。 (虽然我已经尝试过两种方式。)
当我在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构建?
答案 0 :(得分: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)
[...]