2011-06-15 132 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