Probleme compilation sous windows [devc++] - C - Programmation
Marsh Posté le 16-01-2007 à 23:00:46
DrOctopus a écrit :
|
libws2_32.a |
Pourquoi cette bibliothèque est-elle traitée différemment ?
-lws2_32 |
comme les autres, non ?
Marsh Posté le 16-01-2007 à 23:04:50
Je vois libws2_32.a dans mon installation de dev-cpp, et je pense que vous pouvez aussi le voir. Chez moi, cette bibliothèque est dans C:\Dev-Cpp\lib, et ça a l'air d'être la même chose pour vous.
La ligne de commande ne va pas parcequ'au lieu de "libws2_32", il faudrait avoir "-lws2_32" (sans les guillemets. En effet, autrefois, les programmeurs ont décidé de laisser tomber "ib" dans le préfixe "lib" pour gagner deux caractères sur la ligne de commande qui était assez courte.
Dans l'environnement de dev-cpp, il faut aller dans les options du projet, puis l'onglet paramètre. Vous devriez voir trois zones de saisie rectangulaires. Inscrivez "-lws2_32" (sans les guillemets) dans celle de droite, qui est celle du "Linker".
Ou bien, ouvrez makefile.win, et faîtes en sorte d'avoir la ligne :
LIBS = -L"C:/DEV-CPP/lib" -lwsock32 -lwinmm -lws2_32
(Je ne suis pas certain qu'il faille -lmwindows, parce que j'ai un exemple avec -mwindows à la place.)
Marsh Posté le 17-01-2007 à 19:10:40
merci pour vos réponses, euh je n'ai pas crée de projet, juste une simple source, mais si je dois en créer un je vais le faire.
J'ai modifier la ligne de l'éditeur de lien pour mettre simplement:
-lws2_32.a -lwinmm -lmwindows
Résultat:
cannot find -lws2_32.a
ld returned 1 exit status
Marsh Posté le 17-01-2007 à 19:17:30
Il faut enlever le .a aussi, comme pour les autres libs.
Edit: Emmanuel te l'avait dit en plus
Marsh Posté le 17-01-2007 à 19:19:00
en fait j'ai regardé dans C:\devcpp\lib et je n'ai pas de librairie lws2_32.a mais libws2_32.a
apres compilation, aucun changement par rapport au début:
Compilateur: Default compiler
Exécution de gcc.exe...
gcc.exe "C:\send2.c" -o "C:\send2.exe" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" libws2_32.a -lwinmm -lmwindows
gcc.exe: libws2_32.a: No such file or directory
Exécution terminée
Compilation OK
Marsh Posté le 17-01-2007 à 19:20:28
ReplyMarsh Posté le 17-01-2007 à 19:23:08
DrOctopus a écrit : merci de ton aide IrmatDen, mais le résultat est le même ... |
Il faut mettre -lws2_32. On te l'a déjà dit 3000 fois. Si ça ne fonctionne pas, montre la ligne de commande et les messages d'erreur.
Marsh Posté le 17-01-2007 à 19:45:54
lol c bon ca marche désolé
sinon j'ai carément enlevé -lmwindows, ca faisai une erreur, et je crois pas que cette librairie soit obligatoire
merci encore !
Marsh Posté le 17-01-2007 à 20:30:32
sinon j'ai une autre question, lorsqu'on utilise les sockets avec un poste sous windows qui envoi des infos à un poste sous linux, est-ce que je dois installer samba, ou est ce que les sockets (qui sont écrit en C) permettent la compatibilité windows/linux ? (ce qui m'étonnerai lol)
Marsh Posté le 17-01-2007 à 20:37:32
Les connections TCP/IP (avec ou socket) peuvent être établies (de menuisier) sans que Samba soit installé, de même que ping, ftp, telnet, marchent sans avoir besoin de Samba.
Marsh Posté le 17-01-2007 à 20:39:48
DrOctopus a écrit : sinon j'ai une autre question, lorsqu'on utilise les sockets avec un poste sous windows qui envoi des infos à un poste sous linux, est-ce que je dois installer samba, ou est ce que les sockets (qui sont écrit en C) permettent la compatibilité windows/linux ? (ce qui m'étonnerai lol) |
Aucun rapport. Samba, c'est du niveau applicatif (niveau 7) et ça concerne la gestion des fichiers sur un serveur GNU/Linux connecté à des clients Windows... Les sockets c'est très loin en dessous... Ce sont des tuyaux de données transparents. On en fait ce qu'on veut, du pire au meilleur.
Marsh Posté le 16-01-2007 à 21:09:25
Bonjour,
j'ai un programme que j'ai écrit en C sous linux et qui utilise les sockets. Sous linux ca marche bien, et j'aimerais utiliser mon programme sous windows. Sur devc++, j'ai intégré les librairies libws2_32.a -lwsock32 -lwinmm et -lmwindows dans outils/options du compilateur/ éditeur de liens, voila le résultat de la compilation:
Compilateur: Default compiler
Exécution de gcc.exe...
gcc.exe "C:\send2.c" -o "C:\send2.exe" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" libws2_32.a -lwsock32 -lwinmm -lmwindows
gcc.exe: libws2_32.a: No such file or directory
Exécution terminée
Compilation OK
Résultat: aucun .exe crée, sans doute à cause de la librairie libws2_32.a ??
Quelqu'un aurait-il une idée svp ??