Mac OS X libcurl dylib兼容版本
问题描述:
我的应用程序在10.6上编译并运行正常。我将Base SDK设置为10.6,将Mac OS X Deployment Target设置为10.5。Mac OS X libcurl dylib兼容版本
我的应用程序使用系统libcurl.dylib - 而不是将dylib添加到项目,我只是将-lcurl
添加到构建设置中的链接器标志。 (虽然我已经尝试了两种方式)
当我发动10.5.8的应用程序,我收到以下错误
dyld的错误消息:库未加载:/ usr/lib中/ libcurl的。 4.dylib
从参考:/应用/我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版本?
答
您是否尝试将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)
[...]
This Works,and thanks! – 2011-06-16 00:12:52