CLion, Linux, ошибка при запуске собранной внутри IDE программы
Пытаюсь разобраться со сборкой .cpp программ под Linux (Linux Mint, до этого работал только на Windows). У меня установлен новейший тулчейн gcc и g++. Если я компилирую .cpp файл напрямую через командную строку:
g++ -o test main.cpp
А затем запускаю результат
./test
То в последствии все запускается и работает успешно. Программка как и положено выводит свой Hello World.
Если же я пытаюсь собрать точно такой же файл, но уже через CLion/CMake, а затем запустить его через командную строку, то получаю такую ошибку:
/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by ./test)
В настройках CLion указаны все пути к GCC
Сам CMakeList.txt файл выглядит так:
cmake_minimum_required(VERSION 3.27)
project(test)
set(CMAKE_CXX_STANDARD 17)
add_executable(test main.cpp)
Но что интересно - через сам CLion программа запускается исправно.
В чем тут дело? Какие действия тут происходят под капотом, из-за которых она работает в окне IDE, в то время как не работает если запускать её напрямую? Я в линуксе полный новичок (да и в общем то в подробности взаимодействия генератора/компилятора/сборщика тоже не особо посвящен). Возможно полезным будет упомянуть что CLion у меня установлен как FLatpak пакет (насколько мне известно, эта контейнеризация налагает какие-то ограничения и теоретически может тащить с собой какие-то старые файлы, но это просто теория).
P.S. Статическая линковка (static-libgcc -static-libstdc++) тоже ситуацию особо не меняют (появляются 2 аналогичные ошибки вместо одной)
P.P.S При конфигурации CMake проекта в консоль выводится следующая информация о компиляторе.
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
Когда я пытаюсь выяснить текущую версию компилятора в системе, то получаю это:
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Получается и правда какую-то встроенную использует (и при этом более новую чем моя)?