Xcode 10 (iOS 12) не содержит libstdC++ 6.0.9

Я загружаю новейший Xcode от Apple, но обнаружил, что не могу выполнить поиск в библиотеке с именем «libstdC++ 6.0.9». Xcode 10 (iOS 12) не содержит libstdC++ 6.0.9

попробуйте с libc++ вместо libstdc++

Anbu.Karthik 05.06.2018 09:51

Вам нужно добавить это, не так ли? аналогичный вопрос из прошлого года ... stackoverflow.com/questions/36057291/libstdc-6-0-0-tbd-or-dy‌ lib

Scriptable 05.06.2018 09:51

Добавление libc++ у меня не работает, libstc++ тоже недоступен

sgdesmet 05.06.2018 12:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
49
3
36 210
14

Ответы 14

Вы можете скопировать его из старого Xcode (9.4). Он должен работать.

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.* /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.* /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

Если Apple хочет удалить поддержку библиотеки, это решение может не работать для iTunes Connect или будущих версий iOS.

Cœur 06.06.2018 11:11

@ Cœur, это правда, но это хорошее временное решение, если вам нужно собрать существующий проект.

NKorotkov 08.06.2018 12:08

Запустить на симуляторе: dyld: Библиотека не загружена: /usr/lib/libstdc++.6.dylib Ссылка на: / Users / root / Library / Developer / CoreSimulator / Devices / 3D8BF0EC‌ -E838-451D-A39D-E572‌ 3E0CD938 / data / Contai‌ ners / Bundle / Applicat ion / 7168BA72-4111-44‌ CB-92A3-20C5F5BF585B‌ /VPDemo.app/VPDemo Причина: не найдено подходящего изображения. Нашел: /usr/lib/libstdc++.6.dylib: mach-o, но не создан для симулятора iOS

zhengwu119 11.06.2018 04:48

@ zhengwu119 здесь та же проблема.

user1007522 14.06.2018 10:51

У меня это не работает полностью, приложение не запускается на симуляторе. Я знаю, что поддержка iOS12 была удалена, но, возможно, ее можно добавить вручную, чтобы сделать ее работоспособной ...

silentBob 10.08.2018 14:29

У меня была такая же проблема с проектом Xamarin Visual Studio, и это решение тоже сработало для меня. Я также попытался загрузить библиотеки из другого ответа в этом же потоке (кто-то загрузил их на github), но они давали мне некоторые странные ошибки о том, что они «слишком малы для архитектуры ARM». поэтому, если у вас есть эта проблема, пропустите проблему и просто загрузите xcode из Apple и скопируйте оттуда.

cesar-moya 09.10.2018 22:00

libstdc++ удален в iOS 12.

Хотел бы я иметь лучший источник, чем инженер Apple в Twitter, но это все, что у меня есть.

@jeremyhuPSA: libstdc++ is gone from the iOS 12.0 SDK (it is present in the runtime for binary compatibility). It's days are numbered on macOS as well. Migrate over to libc++ if you haven't already. #WWDC2018 #cplusplus

Обновлено: вот лучший источник, примечания к патчу Xcode 10

Building with libstdc++ was deprecated with Xcode 8 and is not supported in Xcode 10 when targeting iOS. C++ projects must now migrate to libc++ and are recommended to set a deployment target of iOS 7 or later. Besides changing the C++ Standard Library build setting, developers should audit hard-coded linker flags and target dependencies to remove references to libstdc++ (including -lstdc++, -lstdc++.6.0.9, libstdc++.6.0.9.tbd, and libstdc++.6.0.9.dylib). Project dependencies such as static archives that were built against libstdc++ will also need to be rebuilt against libc++. (40885260)

libstdC++ устарел 5 лет назад. Последние платформы Apple (tvOS и watchOS) его не поддерживают.

Поддержка была удалена из среды выполнения iOS 12.0 Simulator, но остается в среде выполнения iOS 12.0 (устройство) для двоичной совместимости с приложениями для доставки.

Вы должны обновить свой проект, чтобы использовать libC++, а не libstdC++, установив для параметра сборки CLANG_CXX_LIBRARY («Стандартная библиотека C++») значение libC++.

Если у вас есть какие-либо статические библиотеки, которые зависят от libstdC++. Tbd, вы можете обойти это сейчас, скопировав файл из SDK в Xcode 9.4 (и libstdC++. *. Dylib в среде выполнения симулятора iOS), но это ненадолго. решение. Вам следует связаться с поставщиком этих библиотек и запросить версии, созданные с использованием libC++.

Взято из Заметки о выпуске Xcode 10 Beta 2 и применимо ко всем будущим версиям Xcode:

Building with libstdc++ was deprecated with Xcode 8 and is not supported in Xcode 10 when targeting iOS. C++ projects must now migrate to libc++ and are recommended to set a deployment target of iOS 7 or later. Besides changing the C++ Standard Library build setting, developers should audit hard-coded linker flags and target dependencies to remove references to libstdc++ (including -lstdc++, -lstdc++.6.0.9, libstdc++.6.0.9.tbd, and libstdc++.6.0.9.dylib). Project dependencies such as static archives that were built against libstdc++ will also need to be rebuilt against libc++. (40885260)

Apple вряд ли когда-нибудь снова будет поддерживать libstdC++.

Этот ответ помог мне исправить мою сборку. Я искал «libstdC++», но искал его в панели поиска или фильтра в верхней части проекта и в целевых окнах в Xcode. Я нашел ссылку на него на вкладке «Фазы сборки» в разделе «Связать двоичный файл с библиотеками». Я удалил libstdC++ 6.0.tbd, нажав кнопку «минус» в списке.

aaronsti 24.08.2018 23:25

Джереми Хаддлстон. Ответ Секвойи дал мне направление для решения этой проблемы. Поэтому, прежде чем продолжить, убедитесь, что вы прочитали его ответ.

Даже после обновления библиотеки C++ в вашем проекте вы можете столкнуться с ошибкой связывания, когда Xcode не сможет связать ваш проект с этой libstdC++ lib.

Решение - если в структуру вашего проекта включен libstdC++, он мог стать красным, потому что Xcode не смог найти для него ссылку. Если вы удалите эту запись из структуры проекта и вместо этого добавите новую библиотеку (libC++), все готово.

Скопируйте его из старого Xcode (9.4), он будет работать для физических устройств iOS. Для проблем симулятора с Did find: /usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator. Похоже, Apple удалила поддержку совместимости для симулятора. Просто скачайте симулятор iOS 11.4, и его можно будет запускать на нем.

Xcode 10 отменяет библиотеку libstdC++ со встроенной библиотекой поэтому мы должны скопировать файл в библиотеку вручную.

скопируйте файл: (libstdC++. 6.0.9.tbd) и (libstdC++. 6.tbd) в:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib

а также

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib 

(Обратите внимание на различие «iPhoneOS» и «iPhoneSimulator»)

очистите xcode и перестройте его.

Здесь - это файл.

Я загрузил библиотеки из местоположения github, указанного в этом ответе, но я получал ошибку о том, что библиотеки «слишком малы для архитектуры ARM», поэтому я загрузил XCode 9.4 напрямую с портала разработчика Apple, распаковал его и вручную скопировал библиотеки, а также работал отлично. Спасибо!

cesar-moya 09.10.2018 21:59

Работал как шарм. Спасибо

Nishant Mendiratta 27.01.2019 15:01

В некоторых случаях вам также необходимо скопировать файлы dylib. Они должны быть расположены в Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS‌​.platform/Developer/‌​Library/CoreSimulato‌​r/Profiles/Runtimes/‌​iOS.simruntime/Conte‌​nts/Resources/Runtim‌​eRoot/usr/lib/.

khcpietro 26.03.2019 10:17

Для симулятора просто удалите libstdC++. 6.0.9.tbd из Связанные фреймворки и библиотеки.

Поскольку Apple удаляет libstdC++ в Xcode 10.0, поэтому, если вы хотите решить проблему, вы можете попробовать вручную скопировать файл в lib.

1. файлы iPhoneOS и iPhoneSimulator

скопируйте файлы: libstdc++.6.0.9.tbd, libstdc++.6.tbd и libstdc++.tbd в:

  • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

  • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

2. файл iOS.simruntime

скопируйте файлы: libstdc++.6.0.9.dylib, libstdc++.6.dylib и libstdc++.dylib в:

  • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib

При проблемах симулятора с /usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator можно попробовать скопировать исходный файл: libstdc++.6.0.9.dylib, libstdc++.6.dylib и libstdc++.dylib на: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneO‌​S.platform/Developer‌​/Library/CoreSimulat‌​or/Profiles/Runtimes‌​/iOS.simruntime/Cont‌​ents/Resources/Runti‌​meRoot/usr/lib.

RamboLu 12.10.2018 03:15

Ты спас мне жизнь. Нужен второй шаг. Спасибо большое.

Luat Vu Dinh 10.04.2020 04:57

+1. С Xcode 10 вы можете сделать только первый шаг, но с симулятором Xcode 11 и iOS 13 вам срочно нужен второй шаг.

Luat Vu Dinh 10.04.2020 04:59

Для меня -l "stdC++. 6" был добавлен во время pod install Я нашел его в 'Pods / Target \ Support \ Files / Pods-SomeTarget / Pods-SomeTarget.debug.xcconfig'

Чтобы решить эту проблему, вы можете использовать обработчик post_install в Podfile:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if target.name == "Pods-SomeTarget”
            puts "Updating #{target.name} OTHER_LDFLAGS"
            target.build_configurations.each do |config|
                xcconfig_path = config.base_configuration_reference.real_path
                xcconfig = File.read(xcconfig_path)
                new_xcconfig = xcconfig.gsub('-l"stdc++.6" ', '')
                File.open(xcconfig_path, "w") { |file| file << new_xcconfig }
            end
        end
    end
end

Вам следует удалить libstdC++ из других флагов компоновщика в вашем проекте xcode

Проверь это :

Я столкнулся с той же проблемой после обновления до xcode 10. Я решил эту проблему, загрузив libstdC++. 6.0.9.tbd и libstdC++. 6.tbd из https://github.com/Kila2/libstdc-.6.0.9.tbd.

затем я скопировал эти файлы в папку своего проекта. После этого я добавил эти библиотеки в связанные платформы и библиотеки, выполнив следующие действия: Project> Target> General> Linked Frameworks and Libraries нажмите (+)> Нажмите «Add Other»> Перейдите в папку вашего проекта в «Open File», выберите эти библиотеки и добавьте.

Теперь запустите проект, он будет работать отлично.

Мне удалось исправить проблему сборки, скопировав необходимые файлы из 9.4 в 10.1, как библиотеки платформы, так и среду выполнения. Но это разрешает только случаи с симулятором. Мое приложение все еще зависает при запуске (заставка) при запуске на физическом устройстве.

Это сработает. Не копируйте файлы .dylib из / usr / lib в simruntime.

Список файлов и путей для копирования из Xcode 9.4.1 в Xcode 10.2.1

А) Скопируйте файл: libstdC++. 6.0.9.tbd и libstdC++. 6.tbd и libstdC++. Tbd

из> Xcode9_41 / Xcode9_41.app / Contents / Developer / Platforms / iPhoneSimulator.platform / Developer / SDKs / iPhoneSimulator.sdk / usr / lib

в> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib

Б) Скопируйте файлы: libstdC++. 6.0.9.dylib и libstdC++. 6.dylib и libstdC++. Dylib

из> Xcode9_41 / Xcode9_41.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / Library / CoreSimulator / Profiles / Runtimes / iOS.simruntime / Contents / Resources / RuntimeRoot / usr / lib

в> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib

Другие вопросы по теме