2011-11-15 19 views
9

Pur facendo un progetto con Makefile, ottengo questo errore:disabilitare -Werror del file di configurazione ini

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

cc1: all warnings being treated as errors 

L'help ./configure mostra

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 

come posso dire di non configurare include -Werror ??

risposta

16

Werror è un argomento gcc, non è possibile rimuovere direttamente tramite ./configure, altrimenti un'opzione come --disable-error si presentava nel testo di aiuto. Tuttavia, è possibile.

impostare una variabile di ambiente:

export CFLAGS="-Wno-error" 

questo è per i compilatori C. Se il progetto utilizza C++, fare:

export CXXFLAGS="-Wno-error" 

Nel caso molto raro il progetto non rispetta queste variabili, la vostra ultima risorsa è quello di modificare il file configure.ac e cercare -Werror e rimuoverlo dalla stringa si verifica in (attenzione però).

+4

Si prega di notare che la differenza tra '' CFLAGS' e CPPFLAGS' non è che 'CFLAGS' viene utilizzato da compilatori C e' CPPFLAGS' è usato dai compilatori C++, ma che 'CFLAGS' è usato dal compilatore e' CPPFLAGS' è usato dal preprocessore C. Vedere questa risposta SO per ulteriori dettagli: http://stackoverflow.com/questions/2754966/cflags-vs-cppflags – staticfloat

+0

Il commento sopra si riferisce alla risposta originale, che aveva CPPFLAGS anziché CXXFLAGS. –

3

sembra che la funzione è stata in autotools per molti anni:

./configure --disable-werror 

purtroppo, non ero in grado di ottenere il seguente caso specifico di lavorare:

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

forse potrebbe funziona se è sfuggito il simbolo '=', supponendo che sia possibile. Come dice skim, si può ancora usare CFLAGS o CXXFLAGS.

0

questo lavoro per me, la compilazione curlpp, Lubuntu 16.10:

./configure --disable-ewarning 
Problemi correlati