Каталог не найден. Предупреждение о компоновщике 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 пусты, поэтому ничего не удалять.
Мысли о других вещах, которые я могу сделать, чтобы избавиться от этого предупреждения?
Ответы
Ответ 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