Ошибка компоновщика Xcode: файл слишком мал для архитектуры x86 64


Я разрабатываю приложение в Xcode.

когда я пытаюсь построить, эта ошибка появляется:

ld: in /Users/theodore/Library/Developer/Xcode/DerivedData/Tower-bkpdifuqssebjdgurzmtirbxejnn/Build/Intermediates/Tower.build/Debug/Tower.build/Objects-normal/x86_64/TWRAppDelegate.o, file too small for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

кто-нибудь знает, что случилось?

8 58

8 ответов:

воровать @Мартин-baulig ответ:

попробуйте полностью перестроить / очистить. Возможно, что предыдущая сборка была ненормально прервана, оставив TWRAppDelegate.o файл поврежден или нулевого размера.

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

rm -rf /Users/hostname/Library/Developer/Xcode/DerivedData

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

  • удалить файл (удалить ссылку)
  • строительство
  • вставить файл
  • строительство

Полная версия, так что у вас нет проблем с поиском файла:

  • найти файл в Xcode Project navigator
  • щелкните правой кнопкой мыши на файл и нажмите кнопку " Показать в finder "(открывает finder в месте, где находится файл)
  • Выберите файл в Xcode и нажмите backspace, затем нажмите "Удалить ссылку"
  • построить проект (это не удастся, но ждать его, чтобы закончить)
  • повторно вставьте файл, перетащив его из finder в то же место, где вы его только что удалили
  • построить проект (должен работать сейчас)

вы можете просто удалить TWRAppDelegate.o файл и продолжить строить. Скопируйте полный путь, указанный в сообщении об ошибке, и вставьте его за командой " rm " в свой терминал. Нет необходимости очищать / перестраивать, удалять производные данные, добавлять/удалять файл из проекта и т. д.

Шаг 1. Перейдите в раздел: проект > настройки сборки > пути поиска

Шаг 2. Установите для параметра "всегда искать пути пользователя" значение Да

Шаг 3. Построить проект (вы получите предупреждение, но проект будет построен.)

Шаг 4. Установите "всегда искать пути пользователя" обратно в нет и построить снова, чтобы устранить предупреждение

чистая перестройка не в моем случае, поэтому я объясняю, как я решил проблему:
- удалена ссылка на файл (не удалять файл)
- Добавить файл в проект и работать

просто удалите этот файл, запустив cmd в своем приложении терминала:

rm /Users/theodore/Library/Developer/Xcode/DerivedData/Tower-bkpdifuqssebjdgurzmtirbxejnn/Build/Intermediates/Tower.build/Debug/Tower.build/Objects-normal/x86_64/TWRAppDelegate.o