Descubra la versión de gcc que admite c11
Tossup:
Error no resuelto al compilar crosstool-ng en cygwin en la biblioteca del edificio C: ./wcsmbs/uchar.h:47:5: error: #error"lt;uchar .hgt;Requiere el modo ISO C11"
Durante este período, me di cuenta de que además de c89, c90 y c99, también hay un c11.
Entonces, para tu información:
Compile e instale glibc
Luego me di cuenta de que las versiones inferiores de gcc no son compatibles con c11.
(Y mi eglibc 2.17 y el glibc-2.16.0 del chico necesitan gcc para admitir c11)
Entonces, quiero saber qué versión de gcc admite aquí c11.
Proceso de solución
1. Búsqueda en Google:
gcc c11
Puedes ver:
2 Idioma estándares soportados por GCC
Y comprenda:
C89=C90: las opciones de gcc son:
-ansi, -std=c90 o -std=c90 o - std=c90.std=c90 o -std=iso9899:1990;
Con extensiones GNU: -std=gnu90
C94=C95: opción gcc: -std=iso9899:199409.
C99: opciones de gcc: -std=c99 o -std= iso9899:1999
Antes de completarse el estándar C99, se llamaba C9X
con GNU Extensiones: -std=gnu99
C11: La opción gcc es -std=c11 o -std=iso9899:2011
Antes de que se completara el estándar C11, se llamaba C1X p >
Usar extensión GNU: -std=gnu11
2. Más tarde encontrado:
¿Cómo habilitar C11 en una versión superior de gcc?
Puedes ver:
gcc 4.7 y versiones posteriores son compatibles con C11
.
Materiales de referencia:
> C11Status
Conocido:
-std=c1x GCC 4.6
-std=c11 GCC 4.7
Problema de biblioteca uchar.h ( glibc 2.16)
Resumen
gcc realmente no admitió c11 hasta 4.7.