Questo è successo prima a me, ma non riesco a ricordare come l'ho risolto.size_t non può essere trovato da g ++ - 4.1 o altri su Ubuntu 8.1
Non riesco a compilare alcuni programmi qui su una nuova installazione di Ubuntu ... Qualcosa non funziona con le mie intestazioni.
Ho provato g ++ - 4.1 e 4.3 senza successo.
g++ -g -frepo -DIZ_LINUX -I/usr/include/linux -I/usr/include -I/include -c qlisttest.cpp
/usr/include/libio.h:332: error: ‘size_t’ does not name a type
/usr/include/libio.h:336: error: ‘size_t’ was not declared in this scope
/usr/include/libio.h:364: error: ‘size_t’ has not been declared
/usr/include/libio.h:373: error: ‘size_t’ has not been declared
/usr/include/libio.h:493: error: ‘size_t’ does not name a type
/usr/include/stdio.h:294: error: ‘size_t’ has not been declared
...
il file ...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
...
@ubuntu:~/work/zpk/src$ cat /usr/include/linux/types.h | grep size_t
typedef __kernel_size_t size_t;
typedef __kernel_ssize_t ssize_t;
types.h è sicuramente nel percorso, ed è stato scelto su. Ho verificato cambiando il nome del file e ottengo un errore mancante ...
Qualcuno ha qualche idea ...? Apprezzerei molto l'aiuto ...
grazie ... Ho provato ad aggiungere sys/types.h e types.h senza alcun risultato. ma -E è sicuramente utile - un grep su quello per size_t e non riesco a trovarne uno typedef per questo .... hmm – EdH
Un'altra cosa da provare sarebbe quella di confrontare l'output di "gcc -E /tmp/foo.c "e" g ++ -E /tmp/foo.cc "Il primo invoca il compilatore C e il secondo il compilatore C++. (foo.c e foo.cc non dovrebbero avere altro che "#include". –
slacy