J'ai essayé de compiler ADPACK, écrit en C, sur un Mac Intel exécutant OX 10.6.4. J'ai l'erreur suivante de la commande make.gcc Erreur: "Inputtools.c: 85: erreur: types conflictuels pour 'strcasestr'"
gcc -I/usr/local/include -I/home/ozaki/include -c adpack.c
adpack.c: In function ‘main’:
adpack.c:223: warning: incompatible implicit declaration of built-in function ‘strlen’
gcc -I/usr/local/include -I/home/ozaki/include -c Inputtools.c
Inputtools.c:85: error: conflicting types for ‘strcasestr’
/usr/include/string.h:88: error: previous declaration of ‘strcasestr’ was here
Inputtools.c: In function ‘strcasestr’:
Inputtools.c:96: warning: cast from pointer to integer of different size
Inputtools.c:96: warning: cast from pointer to integer of different size
Inputtools.c: In function ‘input_cmpstring’:
Inputtools.c:124: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘size_t’
Inputtools.c:124: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’
make: *** [Inputtools.o] Error 1
J'ai essayé le refondre size_t comme variable entière, comme je crois comprendre que size_t à peu près Stocke un int typées, mais le casting n'a pas fonctionné. Quelqu'un at-il déjà rencontré une telle erreur? Devrais-je essayer d'utiliser une version différente de gcc?
Merci. Édité. strcasestr est définie sur la ligne 85 en tant que: char * strcasestr statique (char * ch1, ch2 const char *)
Il est défini en tant que string.h char * strcasestr (const char *, const char *);
Les points de titre à la mauvaise erreur. L'erreur réelle qui arrête le compilateur est 'error: types conflictuels pour 'strcasestr'. – kennytm
Pourriez-vous nous montrer ce que Inputtools.c est autour des lignes 85, 96 et 124? Sinon, nous devinons. –
Comme KennyTM dit que l'erreur est dans 'strcasestr'. Cette fonction est une extension fournie par votre compilateur (non définie par le standard) et vous définissez ** un autre ** avec le même nom. Changez le nom de votre fonction ou appelez le compilateur en mode Standard. – pmg