xcode: связывание с «текущей» версией фреймворка - PullRequest
0 голосов
/ 04 декабря 2009

Я собираю фреймворк, который зависит от другого фреймворка. У меня проблемы при распространении моей платформы другим пользователям, у которых не обязательно те же версии, что и на моей машине. Похоже, что xcode создает «жесткую ссылку» на последнюю версию, установленную в моей системе. «otool -L» в моей структуре сообщает ссылку на:

gecode.framework / Versions / 19 / gecode (совместимость версия 19.0.0, текущая версия 19.0.0)

Возможное (и работающее) решение состоит в том, чтобы изменить путь связанной структуры с помощью команды install_name_tool:

`install_name_tool -change gecode.framework/Versions/18/gecode` gecode.framework/Versions/Current/gecode my-constraints-framework

Но есть ли простой способ указать xcode напрямую связываться с «текущей» версией фреймворка на этапе сборки?

1 Ответ

1 голос
/ 04 декабря 2009

«Версия совместимости» платформы не должна меняться для совместимых версий. Если «18» меняется на «19», это означает, что новая структура не совместима: код, связанный с «18», не может использовать «19» без перекомпиляции / модификации.

Обычный способ решения этой проблемы в Mac OS - это скопировать фреймворк в комплект, где он необходим, и связать его с помощью @ executetable_path.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...