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]()
Надеюсь, эта информация поможет кому-то еще.
Лучший