Ошибка xcodebuild. Ошибка: отсутствует файл или каталог:
Возникли проблемы при сборке с xcodebuild. Мой проект / приложение прекрасно работает с Xcode - GUI. Он просто не находит / не собирает библиотеку libcryptopp, которая является частью процесса сборки.
Ошибка:
clang: error: no such file or directory: '/Users/builder/repo/ioskpay/xcode-cryptopp/cryptopp/build/Release-iphoneos/libcryptopp.a'
Этот конкретный файл должен быть получен из другого проекта внутри основного приложения - xcodebuild просто не правильно указывает на нужную папку файла, которая должна быть:
~/Library/Developer/Xcode/DerivedData
Есть идеи?
7 ответов
Чтобы это исправить, зайдите в настройки вашего проекта, перейдите в Targets
и выберите цель вашего основного проекта. Затем перейдите к Build phases
, Под Target dependencies
добавить статический проект библиотеки.
Таким образом, когда вы компилируете основной проект, подпроект статической библиотеки компилируется до того, как основной проект и ваша статическая библиотека будут доступны.
У меня была такая же проблема, но для файла ресурсов.m
Я открыл цель -> фазы сборки -> скомпилировать исходники
и я нашел файл, который компилятор сказал, что он не может найти дубликат: один со странным значком, а другой с обычным значком. Я просто удалил один со странным значком, и это сработало. (Я добавил файл несколько раз, и у меня был конфликт слияния до того, что сделало что-то не так в файле проекта)
В вашем случае, я думаю, вам нужно удалить библиотеку из списка целевых зависимостей и добавить ее снова. Это может работать для вас.
В версии Xcode 9.2 (9C40b) это произошло, когда я внедрил в проект несколько файлов, некоторые из которых были дубликатами. Вместо того, чтобы просто не добавлять дубликаты, он добавил их снова и только имя, а не путь.
В Target
> Build Phases
> Compile Sources
каждый из дубликатов показывался без "... в" после них. Каждый вызвал ошибку лязга.
После удаления всех дубликатов, которые Xcode позволил собрать, проект скомпилирован и запущен.
Это заставляет вас использовать Project Navigator вместо управления вашими исходными файлами в Finder. Тогда Project Navigator не может заменить дубликаты, как любая приличная система управления файлами (ahem Finder).
Моя информация о xCode:
Я сталкивался с подобными ошибками во время проектов сборки xcode (native swift, flutter, Reaction native, native script), в которых я получал сообщения об ошибках, связанных с clang compilar. Ошибки как:
- clang-4.0: ошибка: нет такого файла или каталога: '/Users/xxxxxxxx/ Библиотека / Разработчик / Xcode / DerivedData / xxxxxxxxxxxxxxx / Index / Data Store'
- clang-4.0: ошибка: невозможно указать -o при создании нескольких выходных файлов
- другие
Несмотря на ошибки, связанные с DerivedData для собственных приложений, можно исправить, удалив каталог и, в конечном итоге, перезапустите xCode и даже перезагрузите компьютер... в этом случае вы увидите, что после удаления каталога и повторного запуска процесса сборки ошибка возвращается.
Затем, это момент проверки установки Clang, запустив clang --version
, Нормальный вывод будет примерно таким:
как вы можете видеть InstalledDir
неверно для xCode. В моем случае, несколько дней назад мне нужно было установить приложение Anaconda (R, Python и т. Д.), И теперь я помню, что мне нужно было установить некоторые зависимости, одна из которых была clang, и его установка была изменена. Чтобы решить эту проблему (в моем случае, мне больше не понадобится анаконда): (отредактировано)
1.- Удалить анаконду и все ее зависимости (я рекомендую использовать App Cleaner). 2.- Переустановите xCode
После переустановки xCode, если вы наберете снова clang --version
вы получите это:
Более подробная информация по адресу: https://github.com/flutter/flutter/issues/32457
Надеюсь, эта информация поможет кому-то еще.
Лучший
Иногда Xcode работает странно. Вы должны найти этот статический проект библиотеки, например. "filename.a" в разделе "Link Binary With Libraries" в фазе сборки, а затем удалите его и добавьте снова.
У меня была такая же проблема, когда я архивировал свою цель. Я удалил библиотеку, и сборка прошла успешно.
Итак, просто добавив правильные параметры -target -configuration и -scheme, я получил это для правильной работы. Однако из-за того, что я запустил это в Jenkins для целей автоматического построения, он все равно не работает так, как мне бы хотелось - застрять в одном месте. Это странно, потому что у меня точно такой же код, который создается на другой работе, у которой нет этой проблемы. Там нет рифмы или причины для этого на данный момент. Я буду продолжать снимать резиновые ленты и обновлять, когда у меня будет ответ...
Для меня это было, потому что я удалил пакет или стручок. Я побежал pod install
и это исправило
Ищите отсутствующий файл в проекте Xcode, т.е. файлы могут быть удалены или помещены неправильно.
добавьте отсутствующие файлы в xcode, тогда все будет работать нормально.