Quiero instalar la última versión de GCC (colección del compilador GNU) en Linux Mint 17.3. Actualmente g++ --version
devuelve 4.8.4, mientras que la última versión estable es 5.3.
Quiero instalar la última versión de GCC (colección del compilador GNU) en Linux Mint 17.3. Actualmente g++ --version
devuelve 4.8.4, mientras que la última versión estable es 5.3.
Respuestas:
Su Linux Mint viene preinstalado con un paquete GCC. Entonces, primero le recomendaría que verifique si el paquete ya está presente en su sistema escribiendo el siguiente comando en la terminal.
apt-cache search gcc
En caso de que no tenga un paquete de este tipo, use el siguiente comando en la terminal; primero debe agregar el siguiente repositorio:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
luego use el siguiente comando:
sudo apt-get update
sudo apt-get install g++-4.7 c++-4.7
Siempre hay algo básico que debemos aprender; tómalo como requisito previo antes de Linux ... Aprende a buscar en Google ... intenta hacer una búsqueda más difícil ...
g++-4.7
, que es una versión inferior a la g++-4.8
que ya tengo? Quiero actualizar, no degradar.
descargue la última versión de gcc
wget http://www.netgull.com/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.bz2
use el comando: tar -xjf
para descomprimir el archivo
Ingrese el directorio que descomprimió en este momento, digamos $HOME/Downloads/gcc-5.3.0
, luego escriba command:
./configure --disable-checking --enable-languages=c,c++,objc
--disable-multilib --with-system-zlib prefix=/usr/bin/gcc-5.3
Instalación de dependencia: la compilación GCC requiere GMP4.2 +, MPFR 2.4.0+ y MPC 0.8.0+ y la compilación esencial
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev
sudo apt-get install build-essential
instalar un compilador de C ++
sudo apt-get install g++
Siguiente tipo:
make
sudo make install
Edite si aún recibe un mensaje de error como "¡zlib.h no encontrado!" puedes hacer lo siguiente para arreglarlo:
apt-get install zlib1g-dev
--disable-multilib
?
gcc/lto-compress.c:28:18: fatal error: zlib.h: No such file or directory
No estoy seguro de cuál debería ser el último, porque siempre salen algunos últimos. Pero puede instalar cualquiera de ellos de esta manera.
Tome gcc-8 como ejemplo:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version
si desea seleccionar gcc-8 / g ++ - 8 con mayor prioridad (20 en este caso), también debe
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 20 --slave /usr/bin/g++ g++ /usr/bin/g++-8
A decir verdad, simplemente soy demasiado vago para salir de 17.3, funciona para mí. Dicho esto, todavía necesitaba un nuevo gcc. Para compilarlo repetidamente para diferentes objetivos, tengo un script bash (ver más abajo) que modifico y ejecuto (estoy escribiendo mi propio sistema operativo de juguete, por lo tanto, tengo que usar un gcc especialmente generado).
Cambie los directorios en el script a continuación para que coincidan con los directorios que tiene. Mantengo la versión compilada en mi propio directorio para poder cambiar fácilmente entre mi versión compilada y la versión del sistema. Te sugiero que hagas lo mismo. Debe descargar binutils-2.23.2, así como la versión de gcc que le interesa (estoy usando 7.1.0 a continuación). Póngalos en un directorio ~ / contrib junto con el script a continuación.
También es posible que desee cambiar la línea "--enabled-languages = c" a "--enabled-languages = c, c ++, objc": mi proyecto solo necesita C. Otro cambio sería el valor de PLATFORM. Uso "i686-elf" pero eso no funcionará para ti (lo cambié a continuación por algo que funcione para la plataforma de 32 bits). Puede probar "x86_64-linux-gnu" para una plataforma de 64 bits.
Para los curiosos, la razón por la que lo construyo así es porque el proceso de compilación de gcc solía tener un error que impedía la reconstrucción en el directorio de origen. No sé si este error aún existe (lo encontré por última vez en 4.8.0), pero la única solución fue construir explícitamente en un directorio separado si alguna vez quisiste reconstruirlo.
[EDITAR: Realizar la instalación de las dependencias sugeridas anteriormente por GAD3R]
#!/bin/bash
function die() {
echo $1
exit 127
}
export PREFIX=/home/lelanthran/opt/cross
export TARGET=i686-linux-gnu
export PATH="$PREFIX/bin:$PATH"
pushd $PWD &> /dev/null
mkdir -p build-binutils
cd build-binutils
../binutils-2.23.2/configure \
--target=$TARGET \
--prefix="$PREFIX" \
--with-sysroot \
--disable-nls \
--disable-werror || die "binutils/config error"
make || die "binutils/make error"
make install || die "binutils/make install error"
popd &> /dev/null
pushd $PWD &> /dev/null
mkdir -p build-gcc-7.1.0
cd build-gcc-7.1.0
../gcc-7.1.0/configure \
--target=$TARGET \
--prefix="$PREFIX" \
--disable-nls \
--enable-languages=c \
--without-headers || die "gcc/config error"
make all-gcc || die "gcc/make all-gcc error"
make all-target-libgcc || die "gcc/make all-target-libgcc error"
make install-gcc || die "gcc/make install-gcc error"
make install-target-libgcc || die "gcc/make install-target-libgcc error"