Prob socket en C
AsKy
Messages postés
1001
Date d'inscription
Statut
Contributeur
Dernière intervention
-
HeavyIsNotDead -
HeavyIsNotDead -
bonjour a tous
j'essaie depuis un bout de tps de faire une application socket en C, là j'ai tapé un truc qui me semble pas mal, mais quand je veux le compiler , visual C++ me met le message suivant:
--------------------Configuration: socket - Win32 Debug--------------------
Linking...
socket1.obj : error LNK2001: unresolved external symbol _closesocket@4
socket1.obj : error LNK2001: unresolved external symbol _connect@12
socket1.obj : error LNK2001: unresolved external symbol _htons@4
socket1.obj : error LNK2001: unresolved external symbol _socket@12
socket1.obj : error LNK2001: unresolved external symbol _gethostbyname@4
Debug/socket.exe : fatal error LNK1120: 5 unresolved externals
Error executing link.exe.
je comprends rien et ds la msdn c'est aussi en anglais et c'est pas plus clair...
si qqun pouvait m'aider...
merci beaucoup!
AsKy
# Le travail est sacré, n'y touches pas!!! #
j'essaie depuis un bout de tps de faire une application socket en C, là j'ai tapé un truc qui me semble pas mal, mais quand je veux le compiler , visual C++ me met le message suivant:
--------------------Configuration: socket - Win32 Debug--------------------
Linking...
socket1.obj : error LNK2001: unresolved external symbol _closesocket@4
socket1.obj : error LNK2001: unresolved external symbol _connect@12
socket1.obj : error LNK2001: unresolved external symbol _htons@4
socket1.obj : error LNK2001: unresolved external symbol _socket@12
socket1.obj : error LNK2001: unresolved external symbol _gethostbyname@4
Debug/socket.exe : fatal error LNK1120: 5 unresolved externals
Error executing link.exe.
je comprends rien et ds la msdn c'est aussi en anglais et c'est pas plus clair...
si qqun pouvait m'aider...
merci beaucoup!
AsKy
# Le travail est sacré, n'y touches pas!!! #
A voir également:
- Prob socket en C
- Error 2002 (hy000): can't connect to local server through socket '/run/mysqld/mysqld.sock' (2) - Forum Bases de données
- Socket 1366 ✓ - Forum Matériel & Système
- Changer socket carte mere ✓ - Forum Processeur
- Socket 1150 vs 1151 - Forum Processeur
- Socket error soulseek - Forum Logiciels
4 réponses
sans le code ça va être dur, néanmoins, "unresolved external symbol" semble indiquer qu'une bibliothèque n'a pas été déclarée correctement (problème au niveau des include).
@ +
Pizzabiere
@ +
Pizzabiere
Pourtant gethostbyname, htons &co sont ds la bibli winsock.h que j'ai correctement déclaré au début.
si tu veux le code n'est pas tres long je peux te le mailer.
merci d'avoir répondu!
Lord AsKy
# Le travail est sacré, n'y touches pas!!! #
si tu veux le code n'est pas tres long je peux te le mailer.
merci d'avoir répondu!
Lord AsKy
# Le travail est sacré, n'y touches pas!!! #
Il ne suffit pas d'inclure le .h pour pouvoir utiliser une bibliothèque donnée.
Le .h, bien souvent, ne contient que les déclarations (Il existe une fonction, dont le nom est trucmuche, qui attend les paramètres bidule de type truc, machin de type chose et brol de type indéterminé, et qui retourne une valeur de type droledemachintrucaubiduledechose)...
Maintenant, il faut que ton système puisse savoir quoi faire lorsqu'on appele cette fonction, et ceci est bien souvent mémorisé dans un fichier .lib fourni en même temps que le .h.
Pour compiler, il faudra que tu ajoute (à la main) le nom du .lib utilisé (voir le MSDN, dans une des fonctions incriminées, tu verras un .lib dans le bas de la description de la fonction) dans la zone de texte adéquate des options de ton projet...
Ca devrait alors pouvoir compiler sans erreur, comme pizzabiere le disait : c'est un message typique de non-complétude dans les définitions de l'édition des liens...
A+
Krizniak
Mon crédo : "Aide-toi, le ciel t'aidera..."
Le .h, bien souvent, ne contient que les déclarations (Il existe une fonction, dont le nom est trucmuche, qui attend les paramètres bidule de type truc, machin de type chose et brol de type indéterminé, et qui retourne une valeur de type droledemachintrucaubiduledechose)...
Maintenant, il faut que ton système puisse savoir quoi faire lorsqu'on appele cette fonction, et ceci est bien souvent mémorisé dans un fichier .lib fourni en même temps que le .h.
Pour compiler, il faudra que tu ajoute (à la main) le nom du .lib utilisé (voir le MSDN, dans une des fonctions incriminées, tu verras un .lib dans le bas de la description de la fonction) dans la zone de texte adéquate des options de ton projet...
Ca devrait alors pouvoir compiler sans erreur, comme pizzabiere le disait : c'est un message typique de non-complétude dans les définitions de l'édition des liens...
A+
Krizniak
Mon crédo : "Aide-toi, le ciel t'aidera..."