В первую очередь, благодаря rici для ответа, его метод работает, но я просто нашел тот, который лучше подходит мне.
сначала я сохраняю старый gcc под другим именем в случае, если вещи спутываются:
mv /usr/bin/gcc /usr/bin/gcc_old
mv /usr/bin/g++ /usr/bin/g++_old
затем я связываю свою новую сборку с gcc и копирую некоторый важный материал:
ln -s -f /opt/gcc-4.6.3/bin/gcc /usr/bin/gcc
ln -s -f /opt/gcc-4.6.3/bin/g++ /usr/bin/g++
cp /opt/gcc-4.6.3/lib64/libstdc++.so.6.0.16 /usr/lib64/.
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s -f /usr/lib64/libstdc++.so.6.0.16 /usr/lib64/libstdc++.so.6
Моя благодарность Jacky Wei от хип-хопа команда мерзавца Facebook для справки.
Можно сказать make
который программа использовать для C компилирует путем установки переменной среды CC
, и так же CXX
для C++. (Это предполагает, что Вы используете правила по умолчанию или по крайней мере копируете их. Если Вы запишете свои Make-файлы с явным исполняемым названием gcc, то это не будет работать.) Иначе, помещает что-то вроде этого в Ваш .profile
:
export CC=/opt/gcc-4.6.3/<path to cc> CXX=/opt/gcc-4.6.3/<path to g++>
Вы смогли сходить с рук просто добавление/opt/gcc-4.6.3/bin (если это - то, где исполняемые файлы) к Вашему ПУТИ.