Совместимость с libcurl dylib для Mac OS X - PullRequest
5 голосов
/ 16 июня 2011

Мое приложение собирается и работает нормально на 10.6. У меня установлен базовый SDK 10,6, а для цели развертывания Mac OS X - 10,5.

Мое приложение использует систему libcurl.dylib - вместо добавления dylib в проект я просто добавляю -lcurl к флагам компоновщика в настройках сборки. (Хотя я пробовал оба пути.)

Когда я запускаю приложение на 10.5.8, я получаю следующую ошибку

Сообщение об ошибке Dyld: библиотека не загружена: /usr/lib/libcurl.4.dylib

Ссылка на: / Applications / My 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?

1 Ответ

3 голосов
/ 16 июня 2011

Вы также пытались установить 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)
    [...]
...