Xcodebuild failure clang: ошибка нет такого файла или каталога:

Проблема при создании с помощью 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

Любые идеи?

Ответ 1

Чтобы исправить это, перейдите к настройкам вашего проекта, перейдите к Targets и выберите главную цель проекта. Затем перейдите к Build phases. В разделе Target dependencies добавьте проект статической библиотеки.

Таким образом, когда вы компилируете основной проект, подпроект статической библиотеки компилируется перед основным проектом, и ваша статическая библиотека будет доступна.

Ответ 2

У меня была такая же проблема, но для файла ресурсов .m

Я открыл цель → фазы сборки → Скомпилировать источники

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

В вашем случае, я думаю, вам нужно удалить lib из списка целевых зависимостей и добавить его снова. Это может сработать для вас.

Ответ 3

В версии Xcode 9.2 (9C40b) это произошло, когда я внедрил в проект кучу файлов, некоторые из которых были дубликатами. Вместо того, чтобы просто не добавлять дубликаты, он добавил их снова и только имя, а не путь.

В Target > Build Phases > Compile Sources каждый из дубликатов показывался без "... in" после них. Каждый вызвал ошибку лязга.

enter image description here

После удаления всех дубликатов, собранных XCode, проект скомпилирован и запущен.

Это заставляет вас использовать Project Navigator вместо управления вашими исходными файлами в Finder. Тогда Project Navigator не может заменить дубликаты, как любая приличная система управления файлами (ahem Finder). 🤨

Ответ 4

Итак, просто добавив правильные параметры настройки конфигурации и -схемы, я получил это для правильной работы. Однако из-за того, что я работал в Jenkins для целей автобизнеса, он по-прежнему не работает, как хотелось бы - застрял точно в одном месте. Это странно, потому что у меня есть тот же самый код, который строится в другом задании, которое не имеет этой проблемы. На данный момент нет рифмы или причины. Я буду стрелять в резиновые ленты и обновлять, когда у меня будет ответ...

Ответ 5

Иногда Xcode выполняет странные действия. Вы должны найти этот проект статической библиотеки, например, "filename.a" в разделе "Связывание двоичных файлов с библиотеками" на этапе сборки, а затем удалить его и добавить его снова.

У меня была такая же проблема, пока я архивировал свою цель. Я удалил библиотеку, и сборка прошла успешно.

Ответ 6

Ищите отсутствующий файл в проекте Xcode, то есть файлы могут быть удалены или пропущены.

enter image description here

добавьте недостающие файлы в xcode, тогда все будет нормально работать.

Ответ 7

Для меня это было потому, что я удалил пакет или стручок. Я запустил pod install и исправил его

Ответ 8

Моя информация о xCode:

image

Я сталкивался с подобными ошибками во время проектов сборки xcode (native swift, flutter, Reaction native, native script), в которых я получал сообщения об ошибках, связанных с clang compilar. Ошибки как:

  • clang-4.0: ошибка: нет такого файла или каталога: '/Users/xxxxxxxx/Library/Разработчик /Xcode/DerivedData/xxxxxxxxxxxxxxx/Index/Data Store'
  • clang-4.0: ошибка: невозможно указать -o при создании нескольких выходных файлов
  • другие

Несмотря на ошибки, связанные с DerivedData для собственных приложений, можно исправить, удалив каталог и, в конечном итоге, перезапустите xCode и даже перезагрузите компьютер... в этом случае вы увидите, что после удаления каталога и повторного запуска процесса сборки ошибка возвращается.

Затем clang --version момент проверки установки clang с помощью clang --version. Нормальный вывод будет примерно таким:

image

как вы видите, InstalledDir неверен для xCode. В моем случае, несколько дней назад мне нужно было установить приложение Anaconda (R, Python и т.д.), И теперь я помню, что мне нужно было установить некоторые зависимости, одна из которых была clang, и его установка была изменена. Чтобы решить эту проблему (в моем случае, мне больше не понадобится анаконда): (отредактировано)

1.- Удалить анаконду и все ее зависимости (я рекомендую использовать App Cleaner). 2.- Переустановите xCode

После переустановки xCode, если вы снова clang --version, вы получите следующее:

image

Надеюсь, эта информация поможет кому-то еще.

Лучший