Bonjour,
j'effectue la maintenance d'une bibliothèque écrit en C. J'utilise le compilateur de chez SUN "WorkShop Compilers 5.0 98/12/15 C 5.0" avec qui je n'ai pas de problème de compilation.
Pour des raisons pratiques, je préfère effectuer les tests sur ma machine tournant sous Windows XP Pro. J'ai installé Cygwin et le compilateur gcc "
gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)".
Malheureusement, je n'arrive pas à compiler un module avec la commande "gcc -o testword -O2 -Wall -std=gnu99 -pedantic utils.c word.c testword.c"
car un fichier d'en-tête contient le code suivant:
Message du compilateur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 typedef char* pchar; typedef unsigned char byte; typedef byte* pbyte; #if defined(_WINDOWS) || defined(_WIN32) typedef unsigned int uint; typedef unsigned short ushort; typedef unsigned long ulong; #elif defined(__hpux) #include <sys/types.h> typedef unsigned long ulong; #else #include <sys/types.h> #endif typedef uint* puint; typedef ushort* pushort; typedef ulong * pulong; // Ligne 114
Semble-t-il que gcc ne connait pas le type ulong.In file included from utils.c:38:
utils.h:114: error: parse error before '*' token
utils.h:114: warning: type defaults to `int' in declaration of `pulong'
utils.h:114: error: ISO C forbids data definition with no type or storage class
word.c: In function `WordTrans':
word.c:176: warning: implicit declaration of function `GetLock'
word.c:176: error: `TIMEOUT_INFINITE' undeclared (first use in this function)
word.c:176: error: (Each undeclared identifier is reported only once
word.c:176: error: for each function it appears in.)
word.c:182: warning: implicit declaration of function `ReleaseLoc
Je vous demande si effectivement le type ulong n'est pas supporté par C99 et s'il existe une parade à mon petit problème.
Merci d'avance pour vos réponses.
Partager