2011-06-15 135 views
5

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

回答

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) 
    [...] 
+0

This Works,and thanks! – 2011-06-16 00:12:52