2011-11-15 11 views
9

Al hacer un proyecto con Makefile, me sale este error:desactivar el archivo de configuración INI -Werror

error: implicit declaration of function ‘fatal’ [-Werror=implicit-function-declaration] 

cc1: all warnings being treated as errors 

El ./configure --help muestra

Optional Features: 
    --disable-option-checking ignore unrecognized --enable/--with options 
    --disable-FEATURE  do not include FEATURE (same as --enable-FEATURE=no) 
    --enable-FEATURE[=ARG] include FEATURE [ARG=yes] 
    --disable-dependency-tracking speeds up one-time build 
    --enable-dependency-tracking do not reject slow dependency extractors 
    --disable-gtktest  do not try to compile and run a test GTK+ program 
    --enable-debug Turn on debugging 

¿Cómo puedo saber por no volver a incluye -Werror?

Respuesta

16

Werror es un argumento de gcc, no puede eliminarlo directamente a través de ./configure, de lo contrario, una opción como --disable-error aparecería en el texto de ayuda. Sin embargo, es posible.

establecer una variable de entorno:

export CFLAGS="-Wno-error" 

eso es para los compiladores C. Si el proyecto utiliza C++, hacer:

export CXXFLAGS="-Wno-error" 

En el caso muy raro el proyecto no hace honor a estas variables, el último recurso es editar el archivo configure.ac y la búsqueda de -Werror y sacarlo de la cadena que se produce en (ten cuidado, sin embargo).

+4

Tenga en cuenta que la diferencia entre '' CFLAGS' y CPPFLAGS' no es que 'CFLAGS' es utilizada por los compiladores de C y' CPPFLAGS' es utilizado por los compiladores de C++, pero que 'CFLAGS' es utilizado por el compilador, y' CPPFLAGS' es utilizado por el preprocesador C. Consulte esta respuesta SO para obtener más detalles: http://stackoverflow.com/questions/2754966/cflags-vs-cppflags – staticfloat

+0

El comentario anterior se refiere a la respuesta original, que tenía CPPFLAGS en lugar de CXXFLAGS. –

3

parece que la función ha estado en autotools durante muchos años:

./configure --disable-werror 

Por desgracia, no fue capaz de conseguir el siguiente caso específico para trabajar:

./configure --enable-wno-error=unused-value 

tal vez podría funciona si se escapó el símbolo '=', asumiendo que es posible. Como dice skim, todavía se puede usar CFLAGS o CXXFLAGS.

0

Este trabajo para mí, la compilación curlpp, Lubuntu 16.10:

./configure --disable-ewarning 
Cuestiones relacionadas