версия 'CXXABI 1.3.8' не найдена (требуется...) [дубликат]
этот вопрос уже есть ответ здесь:
когда я запускаю мою программу после компиляции, я получаю следующую ошибку:
./еда: в /usr/lib в/x86_64 с-линукс-дистрибутив GNU/libstdc++в.так.6: версия
CXXABI_1.3.8' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
GLIBCXX_3.4.19' не найдено (требуется ./еда) ./ prog:/usr/lib/x86_64-linux-gnu / libstdc++.Итак.6: версия ' GLIBCXX_3.4.20' не найдено (требуется /home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.так что ... .1.55.0)
у меня есть как boost 1.55.0, так и gcc 4.9.0, установленные в ~/lib/boost_1_55_0
и ~/lib/gcc-4.9.0
соответственно, и я предполагаю, что именно поэтому у меня возникли проблемы, но я не уверен, как это исправить он.
мой ~/.profile
содержит следующую строку:
экспорт в переменной LD_LIBRARY_PATH=/главная/пользователя/Либ/boost_1_55_0/этап в/lib:$переменная LD_LIBRARY_PATH
1 ответов
GCC 4.9 представляет более новую версию C++ ABI, чем ваша система libstdc++, поэтому вам нужно сказать загрузчику использовать эту более новую версию библиотеки, добавив этот путь к LD_LIBRARY_PATH
. К сожалению, я не могу сказать вам сразу, где находится libstdc++ so для вашей установки GCC 4.9, так как это зависит от того, как вы настроили GCC. Так что вам нужно что-то в стиле:
export LD_LIBRARY_PATH=/home/user/lib/gcc-4.9.0/lib:/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH
обратите внимание, что фактический путь может отличаться (может быть какой-то подкаталог скрыт под там, как ' x86_64-unknown-linux-gnu / 4.9.0 или аналогичный).