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

Каталог не найден. Предупреждение о компоновщике Apple Mach-O, но путь поиска в библиотеке и путь поиска Framework пусты

Я получаю эти сообщения:

ld: warning: directory not found for option '-F"/Users/joel/Development/GHaikuTabbed"'
ld: warning: directory not found for option '-F"/Users/joel/Development/GHaikuTabbed/../../../Downloads"'

Но когда я перехожу к настройкам сборки (как предложено в 'ld: warning: каталог не найден для опции), путь поиска библиотеки и путь поиска Framework пусты, поэтому ничего не удалять.

Мысли о других вещах, которые я могу сделать, чтобы избавиться от этого предупреждения?

4b9b3361

Ответ 1

Вот описание того, как избежать проблемы, основанной на Apple Dev Forum, опубликованной ранее. Он работает для меня, поэтому я описываю описание для тех людей, которые не хотят идти и регистрируются на форуме.

Ошибка связана с ошибкой в ​​XCode 5, когда речь идет о пользователе, добавляющем в проект новые файлы или папки.

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

Решение:

  • Скопируйте строку в строку поиска библиотеки в текстовый редактор.
  • Удалите все полностью укоренившиеся пути, которых не должно быть, и замените их обычными путями $(SRCROOT)/MyFiles/type.
  • Удалите все посторонние косые черты и убедитесь, что каждый путь имеет символ в начале и конце для защиты от пробелов в именах файлов.
  • Вставьте отредактированную строку обратно в Настройки сборки.
  • Очистите, затем скомпилируйте. Должно быть нормальным.

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

Ответ 2

Мой проект .pbxproj выглядел так:

LIBRARY_SEARCH_PATHS = (
        "$(inherited)",
        "\\\"$(SRCROOT)/AdMob-v6.4.1\\\"",
        "/MyProject/AdMob-v6.5.1",
); 

Я закрыл MyProject, удалил строку, содержащую AdMob-v6.4.1, снова открыл проект, выполнил "проверку параметров проекта", очистил и построил, и теперь все хорошо.

Ответ 3

Да, Xcode иногда бывает jenky.

Пробовал ли вы очистить сборку (Продукт > Очистить папку сборки/ Shift-Cmd-K) и повторить попытку?

Еще одна вещь, которую вы можете сделать, - это поиск двух записей в [project_name].xcodeproj/project.pbxproj, удалить их, закрыть XCode, повторно открыть, очистить папку сборки и повторите попытку.

Удачи!

Ответ 4

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

Я предполагаю, что у вас есть все ваши файлы и библиотеки в папке проекта.

  • Откройте проект Цели
  • Поиск путей поиска и путей поиска библиотеки
  • Выберите и удалите все пути здесь
  • Затем добавьте путь следующим образом: $(SRCROOT)/"Your App Name"
  • В том же раскрывающемся списке изменений окна справа от non-recursive до recursive
  • Shift-⌘-K и запустить проект

Ответ 5

Я нашел решение для этого с моим делом на форумах разработчиков iOS. Это случилось со мной с Xcode 5. См. Массивные предупреждения об ошибках компоновщика (каталог не найден для опции) еще. Для меня это было вызвано тем, что Xcode 5 загрузил настройки сборки "Библиотечные пути".

Ответ 6

Простое решение:

Это работает для меня

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

  • Откройте проект в старом XCode (я рекомендую XCode 4.6.3)
  • Добавьте свои файлы или папку. (он не испортит путь поиска в библиотеке, поскольку он беспорядок в XCode 5)
  • Закройте старый xcode и откройте свой проект с помощью XCode 5 и начните код.

Ответ 7

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

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

  • Откройте окно терминала
  • Перейдите в папку проекта.
  • Проект XCode - это папка. используйте имя проекта cd, чтобы войти в эту папку.
  • использовать vim для открытия и редактирования файла project.pbxproj.
  • Удалите ссылку на нарушающие строки, выполнив поиск с помощью/и используя команду dd на этой строке, чтобы удалить ее.
  • Сохранить с помощью команды wq

Откройте проект в XCode и выполните сборку. Работает как шарм.

Ответ 8

Мне пришлось избегать любых пробелов с \

Итак, например:

/Пользователи/Me/Folder\with\spaces\(и\brackets \) ​​

в пути поиска библиотеки

Ответ 9

Это сработало для меня:

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

Ответ 10

В папке проекта → target, в разделе "Настройка сборки" найдите пути поиска библиотеки и просто удалите предыдущий путь в области Отладка и Отпуск.

Теперь добавьте строку ниже строки, используя символ +

$(project_dir)/Библиотека

Примечание. После добавления вышеприведенной строки щелкните по всплывающему окну. он автоматически отображает полный путь. Затем проверьте этот путь с помощью Finder, если какая-либо коррекция добавит после $(PROJECT_DIR)/

Очистить, построить и запустить... Простая очистка этой ошибки.:)

-Anup