Если в системе установлено несколько версий компилятора, то управление симлинками лучше поручить update-alternatives. Например, для двух версий установленных пакетов gcc48 и gcc6 для openSUSE нужно создать скрипт ua-gcc
:
p="/usr/bin" for v in 4.8 6 do s="" for t in cpp gcc-ar gcc-nm gcc-ranlib gcov g++ do s="$s --slave $p/$t $t $p/$t-$v" done update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-$v 100 $s done
Затем запустить его от рута. После этого выбор текущей версии в интерактивном режиме производить через (от рута):
update-alternatives --config gcc
Выбор версии через меню:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/gcc-6 100 auto mode * 1 /usr/bin/gcc-4.8 100 manual mode 2 /usr/bin/gcc-6 100 manual mode
gcc -dM -E - < /dev/null