GLIBCXX версии 3.4.22 не найдено

Я построил приложение C++ на VM Ubuntu 16.04, на котором я установил компилятор g++ 6.2.0 для поддержки функций C++14. Когда я попытался запустить его на новой чистой VM 16.04, которая имеет по умолчанию g++ 5.4.0 ошибка / usr/lib/x86_64-linux-gnu / libstdc++.Итак.6: версия ' GLIBCXX_3.4.22 ' не найдено всплывает.
Я заметил, что на виртуальной машине с обновленной библиотекой компилятора libstdc++.Итак.6.0.Установлено 22. На чистой виртуальной машине я бы хотел избежать обновления компилятора, поэтому я пытался установить только последний пакет libstdc++6. Однако установленной библиотекой была libstdc++.Итак.6.0.Итак, проблема не исчезла. Как я могу установить конкретно libstdc++.Итак.6.0.22 версия?

2 ответов


вы можете попробовать использовать пиннинг чтобы убедиться, что только пакеты, которые вы хотите обновляться до новой версии.

кроме того, вы можете просто скомпилировать свою программу с помощью g++ 5.4, потому что согласно на этой странице, этот компилятор уже поддерживает все c++14, единственная разница в том, что G++-6 по умолчанию - std=c++14, тогда как с g++-5 вы должны явно установить языковой стандарт.


вам нужно обновить libstdc++6 до последней версии, как это

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get upgrade libstdc++6

после этого вы можете проверить, получаете ли вы желаемую версию GLIBCXX следующим образом:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX