gcc versión actualizada (su compilador de C ++ NO es totalmente compatible con C ++ 11)

1. Compile e instale el código fuente gcc-4.9.2
1. Descargue el paquete de código fuente de gcc

wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.gz

2. Descomprime el paquete comprimido

tar -zxvf gcc-4.9.2.tar.gz

3. Descargue los paquetes de dependencia necesarios para la compilación.
Este paso se puede completar de dos formas:

a) Si Linux tiene una conexión de red, directamente así:

cd gcc-4.9.2
./contrib/download_prerequisites

b) Si Linux no tiene una conexión de red (mi host y mi máquina virtual son solo de host y no se pueden conectar a Internet, así que pienso en otra forma), entonces use Windows para descargar estos paquetes en Internet:

ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2

http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2

http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

Luego descomprímalo y muévase a gcc-4.8.1:

tar -xjf gmp-4.3.2.tar.bz2

tar -xjf mpfr-2.4.2.tar.bz2

tar -xzf mpc-0.8.1.tar.gz

4. Compile e instale gcc

sudo apt install gcc-c++  glibc-static gcc //为避免出错建议安装此包
./configure --prefix=/usr/local/gcc  --enable-bootstrap  --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install

Descripción del parámetro de compilación:

--Prefijo = / usr / local / especificar la ruta de instalación

--Enable-bootstrap Aquí está la explicación del parámetro de alguna literatura en línea: use el programa generado por la primera compilación para la segunda compilación, y luego use el programa generado para la tercera compilación, y verifique y compare la segunda y la tercera. La exactitud de los resultados secundarios significa que se realizan comprobaciones de compilación redundantes. En un entorno sin compilación cruzada, el valor se ha establecido para habilitar de forma predeterminada y no es necesario mostrar la designación; en un entorno de compilación cruzada, debe mostrarse y configurarse para deshabilitar.

--Enable-check = release Use el estándar de la versión de lanzamiento del software para verificar la consistencia del código generado durante la compilación; configurar esta opción para habilitar no cambiará el resultado binario generado por el compilador, pero aumentará el tiempo de compilación; esta opción Solo se admite el compilador gcc; en general, para la opción anterior, la configuración de hardware de la máquina es baja y los zapatos de los niños que no quieren esperar demasiado para el tiempo de compilación se pueden configurar para deshabilitar; pero esto aumenta el riesgo de errores inesperados, por lo que debe usarse con precaución. Puede configurar --disable-bootstrap y --disable-check al mismo tiempo, lo cual es muy útil para acelerar el proceso de compilación.

--Enable-threads = posix Como su nombre indica, habilita el soporte de subprocesos estándar posix. Para que el programa se ejecute correctamente en la distribución de Linux que cumple con la especificación POSIX, debes habilitar esta opción, dependiendo del tipo de host o destino operativo system, otros valores disponibles Hay: aix, dec, solaris, win32, etc. Si tiene otros sistemas similares a UNIX, debe establecer los valores correspondientes.

--Enable-languages ​​= c, los tipos de lenguaje de alto nivel y las bibliotecas de tiempo de ejecución compatibles con c ++, todos los lenguajes que se pueden configurar incluyen ada, c, c ++, Fortran, java, objc, obj-c ++, GO y otros lenguajes . Aquí solo se habilitan c y c ++, porque cuantos más lenguajes se admitan, más bibliotecas estáticas y dinámicas correspondientes deben instalarse, así como una variedad de bibliotecas dependientes, lo que dificultará la administración y el tamaño será enorme.

--Disable-multilib Si su sistema operativo es de 32 bits, está configurado para deshabilitar de forma predeterminada, lo que significa que gcc solo puede generar programas ejecutables de 32 bits; si su sistema operativo es de 64 bits, ya está configurado para habilitar Esto significa que al compilar otros archivos fuente con gcc, puede usar la opción -m32 para determinar si generar código de máquina de 32 bits. Si desea deshabilitar la generación de código de 32 bits en un sistema de 64 bits, configure --disable-multilib.

- Habilitar-recopilar-detallado-mem-stats le permite recopilar información detallada sobre el uso de la memoria. Si configura este parámetro para habilitarlo, el programa ejecutable compilado de gcc en el futuro se puede usar para generar la compilación en tiempo real de otros programas a través del -fmem-report option Uso de memoria.

--With-long-double-128 especifica que el tipo de doble largo es de 128 bits (¡16 bytes!); Si se establece en sin, el tipo de doble largo será de 64 bits (8 bytes), que será el mismo que el normal. tipo doble. Al compilar basado en Glib 2.4 o superior, el valor predeterminado ya es de 128 bits.

5. Operaciones de seguimiento

Exportar variables de entorno:

gcc --version
#gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
vim /etc/profile.d/gcc.sh
#export PATH=/usr/local/gcc/bin:$PATH
source /etc/profile.d/gcc.sh
gcc --version
#gcc (GCC) 5.1.0

Exportar archivo de encabezado:

ln -sv /usr/local/gcc/include/ /usr/include/gcc
#"/usr/include/gcc" -> "/usr/local/gcc/include/"

Exportar archivo de biblioteca:

vim /etc/ld.so.conf.d/gcc.conf
#/usr/local/gcc/lib64
ldconfig -v
ldconfig -p |grep gcc  //验证是否导出

En este punto, también se ha instalado GCC.

Supongo que te gusta

Origin blog.csdn.net/qq_45467083/article/details/109533897
Recomendado
Clasificación