Ошибка компоновщика Mach-O на Xcode 4.6

У меня есть приложение iOS на Xcode 4.6, и когда я недавно пытался создать и запустить в симуляторе iPhone 6.1, я получил «ошибку компоновщика Mach-O». Он продолжал говорить:

ld: 17 дубликатов символов для архитектуры i386 clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов)

Кто-нибудь знает, как это решить?

Спасибо!

10 Solutions collect form web for “Ошибка компоновщика Mach-O на Xcode 4.6”

Просто зайдите в «Build Phases» -> «Compile Sources» и найдите дубликаты классов.

Проверьте, есть ли у вас файлы * .m в #import ! Кажется, это была моя ошибка …

В моем примере я объявил

 extern NSString const *keyString 

в двух разных файлах. Я переименовал один из них, и он решил мою проблему.

  1. Выйти из Xcode
  2. Перезапустить систему
  3. Выберите Xcode -> Настройки -> Местоположение
  4. В разделе «Местоположения» вы увидите «Производные данные». Нажмите на значок стрелки рядом с дорожкой.
  5. Это откроет папку, содержащую «Производные данные», удалив ее.
  6. Очистите продукт и выполните

    если все еще не работает

    Настройки сборки> Включить биткод> Нет введите описание изображения здесь

В моем случае это были константы.

 NSString *const cellID = @"cellID"; 

Эта строка была написана в двух файлах .m. После добавления static ключевого слова в начале проблема была решена.

Этот вопрос можно воссоздать и в новом проекте. Вы могли бы подумать, что определение констант в разных файлах .m не будет иметь никакого эффекта, поскольку они являются частными. Но я не знаю, как компилятор обрабатывает вещи за сценой. Кроме того, когда вы нажимаете на проблему из навигатора проблем, она не открывает страницу в редакторе, как для любой другой проблемы. Действительно расстраивает.

Я не уверен, что смогу дать вам решение, но я поделюсь ответом, так как то же самое произошло и с xCode 4.6. Я добавил заголовок класса C и файл реализации и включил их в main. Затем я решил удалить этот новый заголовок и реализацию класса C. Когда я снова добавил новый класс c / header c тем же именем и вызовами функций, я закончил с вашей ошибкой.

Честно говоря, это может быть ошибкой. Единственный и быстрый способ, с помощью которого я зафиксировал это, – это запустить новый проект и потянуть все классы.

Удостоверьтесь, что у вас нет не-мгновенных методов с одним и тем же именем в нескольких классах (например, если у меня есть два диспетчера видимости, которые очень похожи, поэтому для быстрого перемещения я копирую и вставляю код с одного контроллера представления во второй, и оба они есть методы, называемые такими же: NSMutableString * filterStringFromStringWithFilter (NSString * string, NSString * filter)), тогда приложение запутывается, какой из этих методов использовать, поскольку они оба доступны, RENAME IT во втором классе и изменять любые вызовы на этот метод в этом классе, и вы устранили путаницу. Разве мы не хотим, чтобы вещи были более ясными!

Если вы хотите изменить значение как в буксировке другого класса. Не забывайте отмечать статическими ключевыми словами.

или clang произведет такую ​​ошибку ниже без какой-либо интерпретации значений.

Apple Mach-O Linker Ошибка clang: ошибка: сработала команда компоновщика с кодом выхода 1

Когда вы реорганизуете функцию класса, вы также иногда получаете эту ошибку. Просто зайдите в Product-> Clean и перестройте.

Build Phases "->" Compile Sources "нажмите кнопку" Проверить настройки "

он исправит ваш проект

  • Предупреждение Xcode «Профилирование: неверное магическое число»
  • XCode: 4.6 Lion: 10.8 IOS 6.1 ошибка: SBTarget недействителен
  • UIScrollView не будет работать
  • iOS 7 больше не работает с XCode 4.6.3
  • Аргумент шаблона не-типа оценивается как -1, который не может быть сужен, чтобы ввести «unsigned long long» xcode 4.6
  • Как применять контрольные метки в ячейке просмотра таблицы
  • Изменение размера кнопки в iOS программно
  • Регистрация в Facebook: операция не может быть завершена (ошибка com.facebook.sdk 2)
  • Ошибка компиляции Xcode 4.6 zXing после обновления Xcode (4H127)
  • Как запустить поток в фоновом режиме приложения, который не повлияет на пользовательский интерфейс приложения
  • Как сделать пакеты, установленные с CocoaPods доступными для ВСЕХ проектов в моей рабочей области?
  • Interesting Posts

    Нестандартная инициализация UITableVIewCell

    В iOS, как я могу хранить секретный «ключ», который позволит мне общаться с моим сервером?

    Как сохранять и извлекать данные с помощью NSUserDefaults

    Сбой компиляции Xcode 5

    ABAddressBook fromOpaque (_ :) в Swift 3

    Сочетает ли API Parse.com с Pubnub жизнеспособный вариант для широкомасштабных сообщений в режиме реального времени и получения комбинированного набора инструментов?

    Неподдерживаемый компилятор 'GCC 4.2', выбранный для архитектуры 'armv7'

    Расширенная iOS: обнаружение маркеров и трехмерная проекция

    iOS 11 Навигационная панель большого заголовка имеет черный цвет при нажатии на контроллер pop view

    Использование неразрешенного идентификатора 'FIRApp'

    Как сбросить настройки универсальной привязки IOS 9?

    Анимированное перемещение и поворот UIView не совсем

    UIGestureRecognizer блокирует прокрутку таблицы просмотра

    Ошибка в службе игры в Google Play на iOS

    Навигационная панель Заголовок фона белый в iOS11

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.