2011-06-15 22 views
5

La mia applicazione si sviluppa e funziona correttamente su 10.6. Ho impostato Base SDK su 10.6 e Target di distribuzione Mac OS X impostato su 10.5.versione di compatibilità di libcurl dylib per Mac OS X

La mia applicazione utilizza il sistema libcurl.dylib - invece di aggiungere il dylib al progetto, aggiungo semplicemente -lcurl ai flag del linker nelle impostazioni di compilazione. (. Anche se ho provato entrambi i modi)

Quando lancio l'applicazione su 10.5.8, ottengo il seguente errore

messaggio di errore dyld: Libreria non caricato:/usr/lib/libcurl. 4.dylib

di riferimento da:/Applications/My Application.app/Contents/MacOS/MyApplication

Motivo: Incompatibile versione della libreria:

MyApplication richiede la versione 6.0.0 o 01.235.più tardi, ma libcurl.4.dylib fornisce versione 5.0.0

Certo, basta, se otool -L binario dell'applicazione, ottengo quanto segue per libcurl:

/usr/lib/libcurl .4.dylib (compatibilità versione 6.0.0, versione corrente 6.1.0)

C'è un modo per aggirare questo, o dovrei semplicemente collegare staticamente il mio build libcurl?

risposta

3

Hai provato a impostare anche l'SDK di base su 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

Questo funziona e grazie! –