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-6ubuntu1

16‌​.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() :

Читайте также: