Подтвердить что ты не робот

Ошибки Apple Mach-O Linker, и я не знаю, что делать

Я больше не могу скомпилировать свой проект для устройства или симулятора. Я получаю 13 ошибок Apple Mach-O-Linker. Все началось после неудачной попытки использования sharekit. Вот журнал ошибок:

ld: warning: directory not found for option '-F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks'
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_NSURLRequest", referenced from:
      objc-class-ref in Brandsonic_Web_mobileAppDelegate.o
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_CLASS_$_NSAutoreleasePool", referenced from:
      objc-class-ref in main.o
  "_objc_msgSendSuper2", referenced from:
      -[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileViewController didReceiveMemoryWarning] in Brandsonic_Web_mobileViewController.o
      -[Brandsonic_Web_mobileViewController dealloc] in Brandsonic_Web_mobileViewController.o
  "_objc_setProperty", referenced from:
      -[Brandsonic_Web_mobileAppDelegate setWindow:] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate setViewController:] in Brandsonic_Web_mobileAppDelegate.o
  "__objc_empty_vtable", referenced from:
      _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_SecondView in SecondView.o
      _OBJC_CLASS_$_SecondView in SecondView.o
  "_objc_msgSend", referenced from:
      _main in main.o
      -[Brandsonic_Web_mobileAppDelegate application:didFinishLaunchingWithOptions:] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate GOOGLE] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate YOUTUBE] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate WIKI] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileViewController webView:shouldStartLoadWithRequest:navigationType:] in Brandsonic_Web_mobileViewController.o
      ...
  "__objc_empty_cache", referenced from:
      _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_SecondView in SecondView.o
      _OBJC_CLASS_$_SecondView in SecondView.o
  "_OBJC_CLASS_$_NSObject", referenced from:
      _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
  "___CFConstantStringClassReference", referenced from:
      CFString in Brandsonic_Web_mobileAppDelegate.o
      CFString in Brandsonic_Web_mobileAppDelegate.o
      CFString in Brandsonic_Web_mobileAppDelegate.o
      CFString in Brandsonic_Web_mobileViewController.o
      CFString in Brandsonic_Web_mobileViewController.o
      CFString in Brandsonic_Web_mobileViewController.o
      CFString in Brandsonic_Web_mobileViewController.o
      ...
  "_OBJC_CLASS_$_NSKeyedUnarchiver", referenced from:
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_CLASS_$_NSUserDefaults", referenced from:
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_CLASS_$_NSURL", referenced from:
      objc-class-ref in Brandsonic_Web_mobileAppDelegate.o
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_METACLASS_$_NSObject", referenced from:
      _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_SecondView in SecondView.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
'

Как это исправить? Пожалуйста, помогите.

4b9b3361

Ответ 1

Для каждого с аналогичной ошибкой. Если это произойдет, вы обычно можете удалить "Путь" под пунктом

target- > Настройки сборки- > Пути поиска в библиотеке enter image description here

Ответ 2

Эта ошибка может возникнуть, если структура добавлена ​​в проект более одного раза.

  • Вы можете исправить это, удалив дубликат. Чтобы найти его, выберите структуру в навигаторе проектов Xcode и выберите "Показать в Finder". Затем очистите и создайте свой проект.

Это также может быть вызвано, если вам не хватает файлов заголовков фреймов или ссылки на них.

  • В этом случае вам следует попытаться удалить SDK или фреймворк и добавить его снова.

Удачи.

Ответ 3

Если вы установили зависимости с помощью CocoaPods, убедитесь, что вы открыли проект XCode, щелкнув файл .xcworkspace и не файл .xcodeproj.

Ответ 4

Кажется, что файл проекта, возможно, был поврежден.

Самый верный способ исправить это - создать новый проект и перенести файлы и старый info.plist поверх него.

Следующий наиболее вероятный способ исправить это - создать новую цель в текущем проекте и посмотреть, будет ли она компилироваться (если у вас есть специальные флаги старой цели, которую вы захотите скопировать).

Также вы можете попробовать выполнить компиляцию для Release vs. Build, и если один из них работает, посмотрите на все параметры компилятора и посмотрите, что другое.

Если вы добавили путь поиска заголовка для Sharekit, попробуйте очистить весь путь поиска заголовка и посмотреть, исправляет ли это что-то. Также убедитесь, что ваш проект по-прежнему включает рамки, которые включает в себя новый проект (UIKit и NSFoundation, возможно, другие).

Ответ 5

Добавьте файл .m для компиляции исходной страницы.

шаги: -

  • нажатие на проект в меню навигации
  • выберите цель
  • выбрать фазы сборки
  • Выберите кнопку + и добавьте файл в файлы компиляции.

Надеюсь, что кто-нибудь с этой проблемой поможет

Ответ 6

Проблемы - это пробелы в вашем пути:

xcode использует следующий переключатель для компоновщика:

-F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks

и поскольку он не цитируется, это не сработает. (Он ищет папку "/Users/bbrandy95/Documents/Broken"

Вы должны переименовать каталоги или просмотреть настройки проекта и добавить кавычки в каталоги. (Но это может быть сложно найти)

Ответ 7

У меня тоже была такая же проблема с 45 одинаковыми ошибками, когда я добавлял libxml2.dylib в свой проект, ошибки исчезли.

Ответ 9

У меня была эта проблема, теперь для моих обстоятельств выбирая более новую версию iOS, поскольку цель развертывания исправила это для меня. Мой проект был настроен на развертывание в iOS 5 по умолчанию и изменение этого значения до 7 (самое последнее) выполнило трюк.

Для любого нового разработчика iOS это можно сделать, щелкнув файл проекта XCode в навигаторе > информация о развертывании > цель развертывания и выбрав соответствующую версию из выпадающего меню.

Я скептически отношусь к тому, что это решит некоторые проблемы, которые есть у других, но может быть несколько человек на той же лодке, что и я.

Ответ 10

Это потому, что проект вставлял основной файл xcdatamodeld в файлы компиляции. Выберите свой проект → Фазы сборки → Скомпилируйте источники и удалите файл projectName.xcdatamodeld. А также проверьте, был ли импортирован файл .m вместо файла .h, он также дает ту же ошибку компоновщика. Проверьте все коды #import. И проверьте, если вы добавили основную базу данных данных в библиотеку и импортировали файл данных ядра .h. Проверьте создание NSManagedObject и импортируйте его. Просто попробуйте и ответьте мне, если все еще есть какая-либо ошибка.

Ответ 11

У меня была та же проблема,

Я просто установил параметр сборки → Enable Bitcode в NO

Ответ 12

Я столкнулся с этой проблемой с моим саморазвитым кокоаподом.

Ошибка была: Apple Mach-O Linker errror

Оказалось, что я определил протокол и реализовал расширение протокола. Один из способов расширения протокола был общедоступным, но сам протокол не был. И это вызвало ошибку Apple Mach-O Linker.

Пример:

протокол MyProtocol {поле var: String {get}}

расширение MyProtocol { общедоступный func giveMeSomething() → String}

открытый класс MyClass: MyProtocol {}

В описании упоминается ошибка, упоминавшаяся MyClass, на которую ссылается MyProtocol → MyProtocol, на которую ссылается функция giveMeSomething()...

Итак, решение заключалось в том, чтобы сделать Myprotocol также общедоступным

Надеюсь, что это поможет кому-то.