Libstdc++.so.6: версия GLIBCXX_3.4.20 не найденаC++

Программы на C++. Форум разработчиков
Anonymous
 Libstdc++.so.6: версия GLIBCXX_3.4.20 не найдена

Сообщение Anonymous »

У меня есть программа, которую я пытаюсь скомпилировать с помощью GCC (моя версия — gcc 4.8.4) с помощью make-файла.
Проблема в том, что исполняемый файл создается в каталоге, и он работает, но когда он скопирован в любой другой (или даже принудительно создан там в make-файле), как говорится.

Код: Выделить всё

/usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
Также, когда я проверяю версии с помощью строк /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX, я понимаю:

Код: Выделить всё

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
Насколько я читал в Интернете, проблема в том, что GLIBCXX_3.4.20 поддерживается только gcc 4.9 и выше, в то время как я использую 4.8.4, но тем не менее, я не не понимаю, почему это будет работать в определенном каталоге, а не в других.

Код: Выделить всё

gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4)
Поскольку у меня нет разрешения на обновление gcc, я хотел бы знать, что я могу сделать, чтобы решить эту проблему...
Какие проблемы следует ли мне избегать использования кода, требующего GLIBCXX_3.4.20?
Могу ли я каким-то образом заставить компилятор использовать более старую версию этой библиотеки или включить эту конкретную библиотеку в двоичный файл? (Я не могу понять, почему это будет работать в каталоге, если у меня нет необходимой библиотеки)

Подробнее здесь: https://stackoverflow.com/questions/535 ... -not-found

Вернуться в «C++»