Libstdc 6 dll ошибка ubuntu
Обновлено: 07.07.2024
когда просто работает apt . Излишне говорить, что это затрудняет что-либо делать.
вау . это заставляет меня действительно не доверять процессу обновления Ubuntu / Canonical. Каждый раз, когда у меня есть рабочая, но устаревшая версия, кто-то на форуме помощи говорит мне, что обновления решат все мои проблемы . Я не знаю, что такое "рабочий диск", и, конечно, не хочу прерывать работу с GRUB отладкой. … Можете ли вы поставить команды, шаг за шагом в своем ответе? Я совсем не знаком с этим, и моя машина linux работает . @ Zachary С какой именно проблемой вы сталкиваетесь? Вы можете загрузиться? На самом деле, нет. Если я отпущу его, экран мерцает около 15 минут, то я получаю приглашение терминала tty2 очень светло-серого цвета. Я не могу использовать apt (или любой инструмент на самом деле). Я даже пытался загрузить libstdc++6. deb с загрузочного USB-накопителя, вручную поместить пакет, перезагрузиться в сломанную систему и установить .deb использование sudo dpkg -i libstdc++6. deb , но он даже не знает, что это dpkg такое.16.04.2_amd64.deb и затем, когда это произойдет, dpkg -i libstdc++6_5.4.0-6ubuntu1
16.04.2_amd64.deb (предполагается, что 64-битная система). Для меня подключение к Интернету не работало, поэтому я загрузил его на USB-накопитель с другого компьютера, а затем вручную подключил USB-накопитель на моем проблемном компьютере ( sudo mount /dev/sdc1 /media/usb где это sdc1 было обнаружено путем просмотра вывода терминала сразу после подключения USB). и затем выполните приведенную выше dpkg команду.
Я должен был использовать это, dpkg --force-all -i libstdc++6_5.4.0-6ubuntu116.04.2_amd64.deb чтобы установить это
Виновником являются остатки от PPA для загрузок Ubuntu Toolchain (ограничено) , в частности
Вы уже ppa-purge установили. затем
Переопределите libstc ++, загрузив libstdc ++ 6 для Xenial и установив его через dpkg -i .
Вероятно, следует расширить ответами снизу, потому что, очевидно ppa-purge , не будет работать (тот же Python)Мой комп не загрузился правильно из-за этой ошибки. Apt-get не работал, как и Gnome. Это было сразу после обновления с 14.04 до 16.04. Я решил это в tty, введя
Мне также пришлось удалить Virtualbox (после команды обновления) и переустановить его позже, но я думаю, что это не было связано.
я попробовал это, но получил ошибку импорта пакета apt_pkg Mixone, какая была точная ошибка и по какой именно команде? sudo apt-get update ошибка произошла из бэкэнда Python. Полагаю, что в stacktrace был python, и в основном говорилось, что он не может найти модуль apt_pkg Та же проблема и для меня, попытка использовать apt-add-repository команду в вашем ответе дает: ImportError: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0: symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_, version GLIBCXX_3.4.21 not defined in the file libstdc++.so.6 with link time referenceЯ думал, что проблема была чем-то уникальным для меня и была вызвана ошибкой загрузки.
Это обсуждение дало мне подсказку, в которой я нуждался. По сути, все, что нужно, это заменить libstdc ++. So.6.0.22 на libstdc ++. So.6.0.21 в / usr / lib / x86_64-linux-gnu отказавшей системы. (Кажется, есть ошибка в более новой версии.)
Это можно сделать с флешки или, как в моем случае, с нуля.
Я использовал этот трюк, но сделал двойную загрузку на свободном месте. Я был в состоянии легко смонтировать оригинальный раздел. Это было довольно легко. Удивительно - эти 3 команды работали для меня: cd / usr / lib / x86_64-linux-gnu / >>> sudo rm libstdc ++. So.6 >>> sudo ln -s libstdc ++. So.6.0.21 libstdc ++. So.6Следуя dpkg -i подходу в принятом ответе, для моего обновления 14.04-> 16.04 потребовался не один, а два пакета:
После этого apt upgrade удалось загрузить остальные пакеты и завершить установку.
Если у вас установлена последняя версия оснастки «Заклинание» с Snappy на Yakkety, ваш apt будет сломан с очень похожей ошибкой:
из-за этой ошибки:
В настоящее время единственный обходной путь, о котором я знаю, - это удаление оснастки заклинания (или, возможно, «мгновенное восстановление» предыдущей версии, если она была установлена ранее).
Исправление, которое работало для меня, состояло в том, чтобы фактически добавить ppa цепочки инструментов Ubuntu:
sudo apt-get -f установить
без указания какого-либо пакета. Это должно сделать работу.
С системами i386 может быть очень похожая проблема.
Чтобы решить эту проблему, мне также пришлось понизить версию gcc-5-base с версии 5.4.1-2ubuntu1
12.04 до 5.4.0-6ubuntu1
Чтобы завершить обновление до приемлемой системы, мне также пришлось использовать dpkg --purge on vituoso_nepomuk и virtualbox, чтобы избавиться от их файлов конфигурации, которые вызывали проблемы (для меня VirtualBox поставляется с пакетом virtualbox-5.1, который кажется невредимым при обновлении. )
Ключ должен был добраться dpkg --configure dbus до работы.
Чтобы включить wget на экране tty-типа, пользователям также может потребоваться выполнить sudo dhclient eth0 включение сетевого подключения.
Я работаю над проектом (конкретная игра), и я чувствую, что должен начать с разных библиотек. Поэтому при этом я переустановил Код::Блоки и настроить мои новые библиотеки и включает.
но на данный момент у меня проблема с запуском u[ мой новый проект, чтобы проверить, все ли включает работу. Эта проблема: libstdc++-6.dll was not found. сначала я задавался вопросом, Могу ли я просто найти этот файл в интернете, но его нигде не найти(или, по крайней мере, многие места, которые у меня есть разыскиваемый. Вскоре после этого я попытался загрузить свой старый проект, и та же проблема произошла снова(wierd. ._.) Я думал, что это может быть мой компилятор, поэтому я использовал свой старый компилятор, и он сделал то же самое! В этот момент я отложил проблему на завтра (то есть сегодня)
Итак, мой вопрос: если бы у кого-то еще была эта проблема, как бы Вы ее решили?
Im с помощью Code:: Blocks с MinGW в качестве компилятора в Windows Vista 32 немного.
вот параметры сборки в моем проекте. Обратите внимание, что это настройки в проекте, а не глобальный компилятор:
In (имя проекта) - > настройки компилятора - >параметры Otehr:
(Я использую // для разделения команд)
In (имя проекта) - > настройки компоновщика - >другие параметры компоновщика:
In компоновщик->ссылки на библиотеки у меня есть различные ссылки на файлы .a расширение, эти файлы включают физику пули, Ogre3D и SFML
в каталогах поиска у меня есть ссылки на каталоги MinGW/bin и MinGW/lib, а также другие ссылки на разные библиотеки.
мой компилятор-MinGW, компилятор GNU GCC для windows 32 бит. и IDE-это кодовые блоки. Также обратите внимание, что в настройках отладки и выпуска в проекте ничего нет.
большинство эти настройки также являются частями, которые я получил от форумах Ogre3D и посомтрите там программа установки учебник если это поможет.
Если вы используете MingW для компиляции кода C++ в Windows, вы можете добавить параметры -static-libgcc и -static-libstdc++ чтобы связать стандартные библиотеки C и c++ статически и, таким образом, удалить необходимость носить с собой любые отдельные копии. Управление версиями библиотек-это боль в Windows, поэтому я нашел этот подход самым быстрым и чистым решением для создания двоичных файлов Windows.
насколько я знаю, это библиотека времени выполнения c++. Поэтому это зависит от компилятора, который вы используете для создания своей программы (Новая версия будет включать некоторые вещи c++0x, более старая версия, вероятно, не будет, например. Это зависит от компилятора и его версии).
Если вы используете MinGW, то вы должны использовать libstdc++-6.dll найдена в папке этого компилятора. папка MinGW/bin должно быть место для поиска на вашем компьютере.
при копировании этот файл в том же каталоге, что и ваш исполняемый файл, должен быть в порядке.
просто удаление libstdc++-6.файл DLL.a \ libstdc++.файл DLL.a из каталога mingw исправляет это.
эта ошибка также произошла при компиляции с MinGW с помощью gcc со следующими параметрами: -lstdc++ -lm , а не g++
Я не заметил этих вариантов, и добавил: -static-libgcc -static-libstdc++
Я все еще получил ошибку и, наконец, понял, что я использую gcc, и изменил компилятор на g++ и удалил -stdc++ and -lm и все, что связано прекрасно.
(Я использовал ссылку.c вместо ссылки.СРР. использовать make -pn | less чтобы увидеть, что все делает!)
Я не знаю, почему предыдущий автор использовал gcc с -stdc++. Я не вижу причин не использовать g++, который будет автоматически связываться с stdc++. и, насколько я знаю, предоставляют другие преимущества (в конце концов, это компилятор C++).
Я разместил libstdc++-6.dll-файл в той же папке, где создается exe-файл.
вам нужно только добавить свой "mingw-install-directory" /bin/ в свой путь в переменных системной среды . вот так !!
Я использую Eclipse под Fedora 20 с MinGW для кросс-компиляции. Используйте эти настройки, и программа не будет запрашивать libstdc++-6.dll больше нет.
тип проекта-Cross GCC
Настройки Креста
- префикс: x86_64-w64-mingw32 -
- путь:/usr / bin
перекрестный компилятор GCC
Все Варианты: -Я в/usr/архитектуру x86_64-w64-mingw32/системы корень/MinGW в/включают -О3 - Стена-c-fmessage-длина=0
Кросс-Компилятор G++
все параметры: - I / usr/x86_64-w64-mingw32 / sys-root / mingw / include-O3 - Стена-c-fmessage-длина=0
включает в себя: в /usr/архитектуру x86_64-w64-mingw32/системы корень/по MinGW/включения
Кросс G++ Компоновщик
все варианты: -л в/usr/архитектуру x86_64-w64-mingw32/системы/корень помощью MinGW/lib в -Л в/usr/архитектуру x86_64-w64-mingw32/системы/корень по MinGW/ОГРН
Пользователи часто недоумевают, потому что программы, которые только недавно работали, не запускаются. Например, были запущены Photoshop и Skype, но теперь появляется ошибка "Программа не запускается, потому что libstdc++-6.dll отсутствует на вашем компьютере.
Что мне делать? Как мне ее вернуть? Как и где скачать libstdc++-6.dll и куда ее положить? Ответы на все ваши вопросы здесь!
Что такое libstdc++-6.dll?
"Libstdc++-6.dll пропущена" - это достаточно стандартная ошибка на Windows PC. Чаще всего проблема заключается в установке обновления Windows и неудачной установке некоторой программы.:
A .dll файл (Dynamic Link Library) функционирует, когда конкретной программе нужен этот .dll файл. Если он поврежден/пропущен, пользователи видят, например, ошибку libstdc++-6.dll, которая приводит к аварийному завершению работы. Стоит добавить, что libstdc++-6.dll - это файл, используемый в дистрибутиве Visual C++ Redistributable для Visual Studio 2015.:
При появлении уведомления о пропущенном файле пользователи начинают поиск загрузки libstdc++-6.dll. Лучше делать это в проверенном месте, например на сайте DLL Kit, где нет ни угроз, ни вирусов.:
Самые распространенные ошибки с libstdc++-6.dll файлом на Windows
- :Файл Dll удален/поврежден. Основная причина - удален или поврежден важный для приложения .dll файл. Вам необходимо восстановить файл или скачать его еще раз.
- Ошибка в облаке Adobe. Проблема вызвана поломкой Visual C ++.
- Файлы Visual Studio 2015 повреждены/пропущены. Файл .dll отсутствует на компьютере или поврежден приложением/системой/вирусом.
- Система ПК заражена вирусами. Вредоносные программы и вирусы всегда повреждают файл libstdc++-6.dll.
- В нем повреждены системные файлы. Ошибки и повреждения возникают после некорректной перезагрузки Windows и работы с зараженными программами и приложениями.
Другие распространенные Libstdc++-6.dll ошибки включают:
- “Libstdc++-6.dll пропущена“
- “Libstdc++-6.dll ошибка загрузки“
- “Libstdc++-6.dll крах“
- “Libstdc++-6.dll не найдена“
- “Libstdc++-6.dll не удалось обнаружить“
- “Libstdc++-6.dll Нарушение Доступа“
- “Точка входа в процедуру Libstdc++-6.dll error“
- “Не получается найти Libstdc++-6.dll“
- “Не могу зарегистрировать Libstdc++-6.dll“
метод 1: Загрузить libstdc++-6.dll автоматически
Не знаете, какая версия libstdc++-6.dll вам нужна? Не волнуйтесь; используйте автоматический метод для решения проблемы или просто прочитайте статью ниже.
Для этого метода скачайте libstdc++-6.dll по нашей ссылке и используйте командную строку, чтобы зарегистрировать отсутствующую libstdc++-6.dll:
- Одновременно нажмите клавиши Windows и R на клавиатуре - появится окно Run - введите cmd - нажмите Ctrl+Shift+Enter - перед вами появится командная строка с правами администратора.
- Когда появится запрос, необходимо разрешить командной строке вносить изменения, поэтому нажмите Yes.
- Теперь удалите файл реестра (введите или скопируйте команду regsvr32 /u libstdc++-6.dll, а затем нажмите Enter).
- Теперь зарегистрируйте файл: введите команду regsvr32 libstdc++-6.dll и нажмите Enter.
- Закрыть командную строку и запустить приложение.
LIBSTDC++-6.DLL ВЕРСИИ
дата выпуска: February 28, 2021
Версия / биты | Язык | Размер | MD5 / SHA-1 |
---|---|---|---|
0.0.0.0 32bit | 0.84 MB | MD5 SHA1 |
Какая версия libstdc++-6.dll правильная?
Посмотрите на описания в таблице, где можно выбрать нужный файл. Существуют версии для 64-битной или 32-битной Windows и используемые в них языки. Выберите те dll-файлы, язык которых идентичен языку самой программы. Загрузите последние версии dll-файлов для своей программы.
Where should you place libstdc++-6.dll?
Ошибка "libstdc++-6.dll пропущена" будет исправлена, если переместить файл в папку установки приложения или игры. Также можно переместить libstdc++-6.dll в системный каталог Windows.
Если этот метод не помогает, используйте следующий.
метод 3: Переустановить Visual C++ Redistributable for Visual Studio 2015
Мы рекомендуем переустановить переустановку дистрибутива Visual C++ для Visual Studio 2015. Пожалуйста, придерживайтесь рекомендаций Microsoft по правильной установке отсутствующих файлов.
Рекомендуется скачать программу с официального сайта Microsoft:
- Вам необходимо скачать Microsoft Visual C++ Redistributable с официального сайта Microsoft.
- Выберите файл для вашей версии Windows: vc_redist.x64.exe для 64-битной версии или vc_redist.x86.exe для 32-битной операционной системы. Установите флажок рядом с файлом и нажмите кнопку Next.
- Открыть файл - прочитать условия лицензирования программного обеспечения Майкрософт - согласиться - выбрать пункт Установить.
Если этот метод не помогает, используйте следующий.
Список некоторых исполняемых файлов библиотеки Visual C++
- mfc140u.dll
- mfcm140.dll
- mfcm140u.dll
- mfc140chs.dll
- mfc140cht.dll
- ucrtbase.dll
- vcruntime140.dll
- msvcp140.dll
- concrt140.dll
- vccorlib140.dll
- vcamp140.dll
Вот некоторые решения по исправлению ошибки "libstdc++-6.dll is Missing". Пожалуйста, прочитайте все инструкции и следуйте им, чтобы успешно добавить конкретную версию файла .dll в Windows для восстановления libstdc++-6.dll проблемы.
метод 4: Запустить SFC сканирование (System File Checker)
Проверка системных файлов (SFC scan) - инструмент, доступный в Windows. Устройство считается самым быстрым способом автоматического исправления поврежденных системных файлов. Для запуска необходимо запустить его:
Если этот метод не помогает, используйте следующий.
метод 5: Обновить Windows до последней версии
Даже простое обновление Windows может помочь решить эту проблему. Обновляя операционную систему до последней версии, все ошибки libstdc++-6.dll могут исчезнуть:
- Открыть настройки из меню Пуск или с помощью комбинации клавиш Windows+I.
- Перейти к обновлению и безопасности.
- В закладке Windows Update нажмите Check for updates.
- Новое обновление найдено - Установить сейчас.
Если этот метод не помогает, используйте следующий.
метод 6: Переустановить нужное приложение
Когда ни один из методов не может помочь, окончательным решением может быть переустановка приложения после его полной деинсталляции:
- Перейти в Settings с помощью меню Start или нажатием Windows+I.
- Click on Apps.
- Найти нужное проблемное приложение - щелкните по нему один раз - в его настройках, выберите опцию Uninstall и продолжайте следовать продемонстрированным инструкциям.
- Перезагрузите программу и переустановите ее из проверенного источника.
Если этот метод не помогает, используйте следующий.
Выводы
при попытке компиляции с clang 6.0. К сожалению, я не могу переехать в experimental/filesystem потому что это не моя библиотека, это от OpenVPN3. Я попробовал с clang 10, но все равно получил ошибку.
Ubuntu 20.04 (фокус на докере) работает! Однако я хотел использовать более старую версию, чтобы обеспечить совместимость со старыми системами.
Это результат, который cmake/make создает при компиляции файла с ошибкой:
Я думаю, что-то не так с libstdC++ на Ubuntu 18?
просто меняя bionic к focal заставляет компиляцию работать.
1 ответ
Всякий раз, когда ошибка компиляции C++ говорит, что <filesystem> заголовок не найден, это потому, что GNU libstdC++ до 9.1 и LLVM libC++ до 9.0 не реализованы std::filesystem пока что.
С этим решением код будет компилироваться, но он не будет поддерживать старые стандартные библиотеки C++.
Самое простое, что вы можете сделать, - это перейти на новую стандартную библиотеку C++. Версия стандартной библиотеки C++ является причиной того, что Ubuntu 20.04 Focal Fossa работает, а Ubuntu 18.04 Bionic Beaver - нет.
Что касается clang 10 в Ubuntu 18.04, который не компилируется, потому что вы все еще используете более старую libstdC++ системы, которая не содержит <filesystem> заголовок. Вы должны установить g++ 9, который содержит более новую версию libstdC++, чтобы вы могли скомпилировать с помощью clang 10.
В Ubuntu 18.04 сделайте следующее:
Теперь clang 10 будет правильно компилироваться.
С помощью этого решения код будет компилироваться и будет поддерживать старые стандартные библиотеки C++. Обратной стороной этого решения является то, что потребуется дополнительный флаг компиляции, который различается между GNU libstdC++ и LLVM libC++.
ПЕРВАЯ ЧАСТЬ СЛОЖНОГО РЕШЕНИЯ - ИЗМЕНЕНИЯ КОДА:
Вам необходимо изменить код OpenVPN3, чтобы он мог выбирать между std::filesystem и std::experimental::filesystem пространства имен в зависимости от того, какой заголовок доступен.
Теперь вам нужно использовать пространство имен fs namepsace вместо std::filesystem .
Будьте осторожны, потому что между std::filesystem и std::experimental::filesystem .
ВТОРАЯ ЧАСТЬ СЛОЖНОГО РЕШЕНИЯ - ФЛАГИ КОМПИЛЯЦИИ:
Для GNU libstdC++ до 9.1 с gcc или clang вам необходимо использовать флаг -lstdc++fs как последний флаг. Порядок важен.
Чтобы сделать это с помощью CMake, добавьте следующее после add_executable() :
Для LLVM libC++ до 9.0 с clang вам нужно использовать флаг -lc++fs как последний флаг. Для использования libC++ не забудьте установить libc++-dev и libc++abi-dev .
Чтобы сделать это с помощью CMake, добавьте следующее после add_executable() :
Читайте также: