Система сборки XCode связывает библиотеку с недопустимой зависимостью от домашнего пива - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть проект macOS, который использует зависимость libftdi . Поскольку Каталина требовала от меня использования библиотек, созданных в версии 10.9 или новее, мне пришлось обновить эту зависимость. На данный момент, не связываясь с homebrew, я просто скачал dylib для версии 1.2.4.0, на которую ссылаются одним касанием, и скопировал его в мой проект Xcode. Теперь он связан в «Каркасах, библиотеках и встроенном содержимом» как «Внедрить и подписать» и скопирован в фазе сборки.

Однако после архивации выполнение приложения сразу завершается сбоем со следующим сообщением об ошибке .

dyld: Library not loaded: @@HOMEBREW_PREFIX@@/opt/libftdi/lib/libftdi1.2.dylib
Referenced from: /Users/Developer/Library/Developer/Xcode/Archives/2020-04-01/THEAPP 01.04.20, 21.23.xcarchive/Products/Users/Developer/Applications/THEAPP.app/Contents/MacOS/THEAPP
Reason: image not found

Быстрая проверка mach-o с помощью otool подтвердила проблему:

cmd LC_LOAD_DYLIB
  cmdsize 80
     name @@HOMEBREW_PREFIX@@/opt/libftdi/lib/libftdi1.2.dylib (offset 24)
     [...]

Я очистил папку своего проекта и не смог найти прямую ссылку на эту версию. libftdi. Почему компоновщик ссылается на эту доморощенную зависимость (которая не существует, по крайней мере, не в этой версии), где он получает эту информацию и как я могу указать ее на dylibs, которые скопированы и находятся в моем проекте?

...