2011-06-15 19 views
5

Moja aplikacja buduje i działa dobrze na 10.6. Mam zestaw Base SDK ustawiony na 10.6, a Mac OS X Target Configuration na 10,5.Mac OS X libcurl dylib wersja kompatybilności

Moja aplikacja korzysta z systemu libcurl.dylib - zamiast dodawać dylib do projektu, dodaję tylko -lcurl do flag łącznika w ustawieniach kompilacji. (. Chociaż próbowałem to w obie strony)

Kiedy uruchomić aplikację na 10.5.8, otrzymuję następujący błąd

Komunikat o błędzie dyld: Biblioteka nie załadowany:/usr/lib/libcurl. 4.dylib

odwołuje się od:/Applications/My Application.app/Contents/MacOS/MyApplication

Powód: Niezgodna wersja biblioteki:

MyApplication wymaga wersji 6.0.0 lub później, ale libcurl.4.dylib zapewnia wersję 5.0.0

pewno wystarczy, jeśli otool -L binarny aplikacji, pojawia się następujący dla libcurl:

/usr/lib/libcurl .4.dylib (wersja kompatybilności 6.0.0, aktualna wersja 6.1.0)

Czy jest jakiś sposób obejścia tego, czy powinienem po prostu statycznie połączyć moją własną kompilację libcurl?

Odpowiedz

3

Czy próbowałeś również ustawić Base SDK na 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

To działa, a dzięki! –