Quando provo aGCC problema build (limits.h #include_next)
$ make depend -f gcc.mak
un middleware sulla mia macchina Ubuntu ho questa
/usr/include/../include/limits.h:125:26: error: no include path in which to search for limits.h
Questo è il contenuto di tutto limits.h: 125 :
/* Get the compiler's limits.h, which defines almost all the ISO constants. We put this #include_next outside the double inclusion check because it should be possible to include this file more than once and still get the definitions from gcc's header. */ #if defined __GNUC__ && !defined _GCC_LIMITS_H_ /* `_GCC_LIMITS_H_' is what GCC's file defines. */ # include_next <limits.h> #endif
ho provato a installare
$ export INCLUDE=/usr/lib/gcc/x86_64-linux-gnu/4.3/include-fixed/ $ export C_INCLUDE_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.3/include-fixed/ $ export CPLUS_INCLUDE_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.3/include-fixed/
(che è dove ho trovato un altro limits.h sul mio sistema). Ho già installato libc6-dev, potrebbe essere che i suoi limiti.h siano stati sovrascritti da un altro pacchetto? Ho bisogno di un altro pacchetto -dev? O è richiesta una variabile di ambiente; forse questo potrebbe essere aggirato in qualche altro modo?
Questo dovrebbe funzionare così com'è. Cosa vedi quando aggiungi '-v' al tuo comando di compilazione? –
Suppongo che limit.h sia mancante (o sovrascritto). -v get me GNU Make 3.81 Destinazione: x86_64-linux-gnu gcc versione 4.3.3 (Ubuntu 4.3.3-5ubuntu4) –
L'altro limits.h che puoi trovare è quello che dovrebbe essere tirato da include_next . È possibile aggiungere -v alla riga di comando gcc che esegue la compilazione in errore, ad esempio gcc -v -c foo.c? La parte interessante nella sua uscita sarebbe # include <...> ricerca inizia qui: /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.3.3/include /usr/lib/gcc/x86_64-linux-gnu/4.3.3/include-fixed /usr/include Fine della lista di ricerca. –