Problême de compilation (bis)

Problême de compilation (bis) - C - Programmation

Marsh Posté le 27-07-2005 à 20:28:16    

Salut à tous
 
voilà j'y connais pas énormement, j'aimerais juste compiler des codes sources dont je dispose, mais tous mes essais sont vain, et malheureusement mon manque de connaissance dans le domaine ne m'aide pas :(
 
j'ai donc commencer à lire quelque tutos sur la programmation , essentielement le language C puisque c'est celui utiliser dans le code source,les facons et les logiciels à utiliser pour compiler
 
je suis donc allez sur http://c.developpez.com/compilateurs et je les ai presque tous testé
 
celui qui m'a parus le plus complet était Dev-C++ dans sa version 4.9.9.2 tout en un.
 
Malheureusement j'obtient toujours une ereur :
 
aux 1er essai (le code source était ds un fichier .txt renommer en .c car j'avais copier coller le code source à partir d'une fenêtre IExplorer) je lance le programme, je fait ouvrir / hod.c
 
puis Executer / compiler (Ctrl + f9)
 
j'obtiens ces erreurs:
 

Code :
  1. Compilateur: Default compiler
  2. Exécution de  gcc.exe...
  3. gcc.exe "C:\Dev-Cpp\hod.c" -o "C:\Dev-Cpp\hod.exe"    -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
  4. C:\Dev-Cpp\hod.c:473:2: warning: no newline at end of file
  5. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x4e7):hod.c: undefined reference to `WSAStartup@8'
  6. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x4fa):hod.c: undefined reference to `gethostbyname@4'
  7. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x549):hod.c: undefined reference to `socket@12'
  8. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x58f):hod.c: undefined reference to `htons@4'
  9. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x607):hod.c: undefined reference to `connect@12'
  10. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x678):hod.c: undefined reference to `send@16'
  11. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x6bd):hod.c: undefined reference to `recv@16'
  12. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x88c):hod.c: undefined reference to `htons@4'
  13. C:\DOCUME~1\ADMINI~1.ORD\LOCALS~1\Temp/ccQnaaaa.o(.text+0x924):hod.c: undefined reference to `send@16'
  14. collect2: ld returned 1 exit status
  15. Exécution terminée


 
voilà les derniere ligne du code source :
 

Code :
  1. printf(" OK\n" );
  2. return 0;
  3. }


 
de ce fait je ne comprend pas vraiment la 1ere erreur (le [warning]) mais bon comme je l'ai dit je ne suis pas une lumère dans ce domaine. Les autres erreurs sont des [linker error] mais les lignes ne sont pas référencé. Voilà en gros ...
 
deuxieme essaie je fait fichier/nouveau/fichier source
 
je copie le code, et là les errerus sont différentes
 

Code :
  1. Compilateur: Default compiler
  2. Exécution de  g++.exe...
  3. g++.exe "C:\Dev-Cpp\SansNom2.cpp" -o "C:\Dev-Cpp\SansNom2.exe"    -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
  4. C:\Dev-Cpp\SansNom2.cpp: In function `int hex2raw(unsigned char*, unsigned char*)':
  5. C:\Dev-Cpp\SansNom2.cpp:220: error: invalid conversion from `unsigned char*' to `const char*'
  6. C:\Dev-Cpp\SansNom2.cpp:220: error:   initializing argument 1 of `size_t strlen(const char*)'
  7. C:\Dev-Cpp\SansNom2.cpp: In function `int encode_uuid(unsigned char*, unsigned char*)':
  8. C:\Dev-Cpp\SansNom2.cpp:260: error: invalid conversion from `unsigned char*' to `const char*'
  9. C:\Dev-Cpp\SansNom2.cpp:260: error:   initializing argument 1 of `size_t strlen(const char*)'
  10. C:\Dev-Cpp\SansNom2.cpp: In function `unsigned char* dce_rpc_bind(long unsigned int, unsigned char*, short unsigned int, long unsigned int*)':
  11. C:\Dev-Cpp\SansNom2.cpp:300: error: invalid conversion from `unsigned char*' to `const char*'
  12. C:\Dev-Cpp\SansNom2.cpp:300: error:   initializing argument 1 of `size_t strlen(const char*)'
  13. C:\Dev-Cpp\SansNom2.cpp: In function `int main(int, char**)':
  14. C:\Dev-Cpp\SansNom2.cpp:413: error: invalid conversion from `unsigned char*' to `const char*'
  15. C:\Dev-Cpp\SansNom2.cpp:413: error:   initializing argument 2 of `int send(SOCKET, const char*, int, int)'
  16. Exécution terminée


 
voilà voilà, donc je sais pas trop que faire :$ si vous avez qq conseils ou si vous pouvez me dire à peu prés à quoi corresponde les erreurs et peut-être même comment enfin y arriver j'vous en prie :p
 
sur ce merci d'avance !

Reply

Marsh Posté le 27-07-2005 à 20:28:16   

Reply

Marsh Posté le 27-07-2005 à 22:01:14    

deftoz a écrit :


j'obtiens ces erreurs:


Si j'ai bien compris, tu as Dev-C++. Il faut savoir que cet environnement de développement sait compiler du C ou du C++. Pour les différencier, par défaut, on met l'extension .c aux source C et .cpp aux sources C++.
 
Visiblement, ici, il y a un problème :  

Citation :


# Compilateur: Default compiler
# Exécution de  g++.exe...
# g++.exe "C:\Dev-Cpp\SansNom2.cpp" -o "C:\Dev-Cpp\SansNom2.exe"    
<...>


tu invoques le compilateur C++ (g++) parce que l'extension est .cpp. COmmence déjà par renommer le fichier en .c.  
 
A part ça, il faut absolumement utiliser la gestion de projet. C'est d'ailleurs pendant la création du projet que l'on décide du langage utilisé par défaut.
 
Commence par un 'helloworld' tout simple pour prendre en main l'environnement. Ensuite, tu écriras du code plus complexe...
Une chose à la fois...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 28-07-2005 à 00:43:06    

ok j'ai donc retenter le coup, j'ai toujours les erreurs : undefined reference to `WSAStartup@8' etc... (toute les undefined reference to)
 
:(

Reply

Marsh Posté le 28-07-2005 à 07:37:59    

deftoz a écrit :

ok j'ai donc retenter le coup, j'ai toujours les erreurs : undefined reference to `WSAStartup@8' etc... (toute les undefined reference to)


Ce sont des erreurs de l'éditeur de lien. Il faut ajouter la bibliothèque ws2_32 au projet :
 

  • Ouvrir le projet
  • Alt-p
  • Paramètres
  • Dans la colonne Editeur de lien, ajouter -lws2_32
  • Valider
  • F9


Message édité par Emmanuel Delahaye le 28-07-2005 à 07:39:05

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed