Ошибка 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, тогда все будет работать нормально.

Выполните эту команду:

$ conda deactivate
Другие вопросы по тегам