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

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





Вы можете скопировать его из старого 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, это правда, но это хорошее временное решение, если вам нужно собрать существующий проект.
Запустить на симуляторе: 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 здесь та же проблема.
У меня это не работает полностью, приложение не запускается на симуляторе. Я знаю, что поддержка iOS12 была удалена, но, возможно, ее можно добавить вручную, чтобы сделать ее работоспособной ...
У меня была такая же проблема с проектом Xamarin Visual Studio, и это решение тоже сработало для меня. Я также попытался загрузить библиотеки из другого ответа в этом же потоке (кто-то загрузил их на github), но они давали мне некоторые странные ошибки о том, что они «слишком малы для архитектуры ARM». поэтому, если у вас есть эта проблема, пропустите проблему и просто загрузите xcode из Apple и скопируйте оттуда.
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, нажав кнопку «минус» в списке.
Джереми Хаддлстон. Ответ Секвойи дал мне направление для решения этой проблемы. Поэтому, прежде чем продолжить, убедитесь, что вы прочитали его ответ.
Даже после обновления библиотеки 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, распаковал его и вручную скопировал библиотеки, а также работал отлично. Спасибо!
Работал как шарм. Спасибо
В некоторых случаях вам также необходимо скопировать файлы dylib. Они должны быть расположены в Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/.
Для симулятора просто удалите 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 в:
При проблемах симулятора с /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/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib.
Ты спас мне жизнь. Нужен второй шаг. Спасибо большое.
+1. С Xcode 10 вы можете сделать только первый шаг, но с симулятором Xcode 11 и iOS 13 вам срочно нужен второй шаг.
Для меня -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
Я столкнулся с той же проблемой после обновления до 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
попробуйте с
libc++вместоlibstdc++