ld: warning: Не удалось найти автоматически связанную библиотеку 'swiftObjectiveC' - PullRequest
1 голос
/ 26 марта 2019

Я работаю над устаревшим проектом (iOS-приложением), написанным на obj-c.Проект связывается с устаревшей статической библиотекой, написанной на obj-c.

Библиотека была дополнена кодом, написанным на Swift, и компилируется без ошибок.

Проблема на уровне проекта, который компилируется со следующими ошибками:

ld: warning: Could not find auto-linked library 'swiftObjectiveC'
ld: warning: Could not find auto-linked library 'swiftSwiftOnoneSupport'
ld: warning: Could not find auto-linked library 'swiftCoreAudio'
ld: warning: Could not find auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find auto-linked library 'swiftCore'
ld: warning: Could not find auto-linked library 'swiftQuartzCore'
ld: warning: Could not find auto-linked library 'swiftDarwin'
ld: warning: Could not find auto-linked library 'swiftsimd'
ld: warning: Could not find auto-linked library 'swiftFoundation'
ld: warning: Could not find auto-linked library 'swiftAVFoundation'
ld: warning: Could not find auto-linked library 'swiftCoreMedia'
ld: warning: Could not find auto-linked library 'swiftDispatch'
ld: warning: Could not find auto-linked library 'swiftCoreFoundation'
Undefined symbols for architecture x86_64:
  "protocol descriptor for Swift.Hashable", referenced from:
      protocol conformance descriptor for __C.AVAudioSessionCategory : Swift.Hashable in __C_Synthesized in libFindParking.a(libFindParking.a-x86_64-master.o)
      generic protocol witness table for __C.AVAudioSessionCategory : Swift.Hashable in __C_Synthesized in libFindParking.a(libFindParking.a-x86_64-master.o)
      protocol conformance descriptor for __C.AVAudioSessionMode : Swift.Hashable in __C_Synthesized in libFindParking.a(libFindParking.a-x86_64-master.o)
      generic protocol witness table for __C.AVAudioSessionMode : Swift.Hashable in __C_Synthesized in libFindParking.a(libFindParking.a-x86_64-master.o)
  • Как решить проблему?

Обновлено:

Я не использую Cocoapods

1 Ответ

1 голос
/ 26 марта 2019

Вот решение, которое сработало для меня:

Очевидно, что для чисто объективных проектов c вам нужно добавить этот $ (TOOLCHAIN_DIR) / usr / lib / swift / $ (PLATFORM_NAME) в пути поиска библиотек вашей цели. Это сработало для меня, когда я включал библиотеку, написанную на swift, в проект в target-c

https://stackoverflow.com/a/53101587/1180728

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