Соединение с libcrypto для Leopard?

Я использую Mac OS X, 10,6 SDK и моя цель развертывания установлены на Mac OS 10.5. Я связываюсь с libcrypto (AquaticPrime требует этого), и узнал, что мое приложение не запускается на Leopard. Ошибка

dyld: Library not loaded: /usr/lib/libcrypto.0.9.8.dylib

Я попробовал следующие обходные решения, но ни один из них не работает:

  • Соединение непосредственно с libcrypto.0.9.7.dylib (10,6 SDK отказываются связываться непосредственно с libcrypto.0.9.7.dylib.
  • Копирование версии 10,5 SDK libcrypto.0.9.7.dylib к 10,6 каталогам lib и попытке t ссылка с ним (на этот раз процесс ссылки, за которым следуют, но в Leopard, приложение все еще пробует к поиску несуществующее libcrypto.0.9.8.dylib файл и таким образом не запустится).
  • Копирование libcrypto.0.9.7.dylib из Mac OS X 10.5.8 установок и ссылка с ним (ссылка была успешна, но приложение все еще ищет libcrypto.0.9.8.dylib).

Существует ли способ связаться с этой библиотекой и все еще использовать 10,6 SDK?

Спасибо.

11
задан adib 11 April 2010 в 10:41
поделиться

3 ответа

Вы можете попробовать установить для базового SDK значение 10.5 в настройках целевой сборки.

1
ответ дан 3 December 2019 в 04:31
поделиться

Согласно этой теме здесь (первое сообщение в теме: http://lists.apple.com/archives/cocoa-dev/2009/Aug/msg01737.html , «libcrypto on Snow Leopard» список потоков: http://lists.apple.com/archives/cocoa-dev/2009/Aug/thrd19.html ), я считаю, что решение состоит в следующем:

  1. Перейдите в / Разработчик / SDK / MacOSX10.5.sdk / usr / lib /. Из этой папки скопируйте libcrypto.0.9.7.dylib в исходную папку проекта.

  2. Переименуйте только что скопированный файл в libmycrypto.dylib.

  3. Добавьте файл, который вы только что переименовали, в свой проект. Обязательно удалите из своего проекта любые другие связанные фреймворки libcrypto.

  4. Просмотрите настройки сборки и убедитесь, что вы удалили флаг компоновщика «-lcrypto». (Обычно это указывается в параметре «Другие флаги компоновщика».)

Теперь вы сможете собрать свой проект, и он будет работать как на 10.5, так и на 10.6.

(libcrypto.0.9.7 доступен как в 10.5, так и в 10.6. Скопированный вами файл - это просто заглушка заголовков, но вы просто связываете его, а не , а не встраиваете его в свой проект) .Поскольку компоновщик использует путь установки, а не фактическое имя файла dylib, присвоение ему имени «libmycrypto.dylib» устраняет конфликты путей, но по-прежнему позволяет вам компоноваться с нужной вам библиотекой.

FWIW, это проблема Xcode. У вас должна быть возможность установить ссылку на /usr/lib/libcrypto.dylib - символическую ссылку - и настроить ее на правильную версию libcrypto как в 10.5, так и в 10.6. Однако Xcode всегда, кажется, ссылается на версию 0.9.8, когда по какой-то причине опираясь на Snow Leopard.)

22
ответ дан 3 December 2019 в 04:31
поделиться

У вас пробовали линковать libcrypto.0.9.dylib или libcrypto.dylib вместо конкретных версий?

0
ответ дан 3 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: