ld: в фреймворке не найдены болты для архитектуры armv7

#ios #delphi #firemonkey

#iOS #delphi #firemonkey

Вопрос:

Я пытаюсь скомпилировать в Delphi Rio проект, который отлично работал под Delphi tokyo. Я не могу, потому что у меня всегда есть эта ошибка :

 ld: framework not found Bolts for architecture armv7
  

Но в глобальном пути к библиотеке delphi я правильно установил:

 C:libiosfacebookBolts.framework
  

это путь, по которому находится фреймворк Bolts:

 C:libiosfacebookBolts.frameworkHeaders...
C:libiosfacebookBolts.frameworkModules...
C:libiosfacebookBolts.frameworkInfo.plist
C:libiosfacebookBolts.frameworkBolts
  

Что я пропустил?

Примечание: если я перемещаю C:libiosfacebookBolts.framework каталог внутри глобального каталога PlateformSDKs, тогда он работает.

Комментарии:

1. Это ошибка quality.embarcadero.com/browse/RSP-22216

2. Спасибо @DalijaPrasnikar! Грустно, потому что вы создали этот отчет об ошибке 14 / Oct / 18 перед обновлением 1, но он все еще не решен: ( вы нашли обходной путь?

3. Обходной путь — добавьте фреймворки из пути к фреймворкам в путь поиска в настройках вашего проекта. Я не пробовал с глобальными настройками.

4. H @DalijaPrasnikar не уверен, что я понимаю, что такое путь к фреймворкам?

5. @DalijaPrasnikar Я думаю, я понимаю, что под путем к фреймворку вы подразумеваете инструмент> развертывание> SDK manager. Я никогда не добавляю сюда какие-либо внешние фреймворки, я всегда добавляю путь к внешней фреймворке в путь поиска опции проекта: (и, как вы видите, это не работает

Ответ №1:

я нашел выход:

Если у меня есть

 C:DevAlcinoelibiosfacebookBolts.framework
C:DevAlcinoelibiosfacebookFBSDKCoreKit.framework
C:DevAlcinoelibiosfacebookFBSDKLoginKit.framework
C:DevAlcinoelibiosfacebookFBSDKShareKit.framework
  

Я должен добавить в путь поиска все эти каталоги, А в параметре project framework path — КОРНЕВОЙ путь

 C:DevAlcinoelibiosfacebook
  

тогда это работа! У меня все еще есть предупреждение

ld: предупреждение: автоматическое связывание прилагается ‘C:DevAlcinoelibiosfacebook/Bolts.framework/Bolts ‘, опция компоновщика фреймворка в C:DevAlcinoelibiosfacebook/Bolts.framework/Bolts это не dylib

но это работа

Ответ №2:

Я включаю Facebook SDK таким образом:

1) Скопируйте все фреймворки FBSDK в активный SDK. Для iOS 12.1 это: D:DocumentsEmbarcaderoStudioSDKsiPhoneOS12.1.sdkSystemLibraryFrameworks

2) Скажите компоновщику Delphi включить SDK.

В разделе Project Options > Building > Delphi Compiler > Linking > Options passed to the LD linker добавьте эту строку:

 -ObjC -lz -framework FBSDKCoreKit -weak_framework Bolts