Visual C++: error LNK2001: unresolved external symbol

Résolu
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006 - 24 févr. 2006 à 16:27
MisterDa2 Messages postés 13 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 28 février 2006 - 28 févr. 2006 à 15:28
Bonjour,
J'utilise une librairie (qui gère les sockets: DllSocket) pour faire un serveur. J'ai ajouté au projet du serveur Dllimport.h que j'ai inclus là où il fallait. J'ai ajouté le chemin pour accéder à la librairie dans Project/Settings/Link.
Quand je compile, j'obtiens ce message:
ServeurFonc.obj : error LNK2001: unresolved external symbol _ServeurInitSocket
.\Debug/Serveur.exe : fatal error LNK1120: 1 unresolved externals
J'ai vérifié la casse
de la fonction ServeurInitSocket, le chemin pour accéder à librairie, .... J'ai regardé sur le site de msdn pour voir les causes potentieles de cette erreur. Mais,
tout a l'air d'être correct!
Si qq'un a une idée, je lui serai reconnaissant.

Merci

6 réponses

MisterDa2 Messages postés 13 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 28 février 2006
28 févr. 2006 à 15:28
Etrange effectivement (remarque à la con mais ça m'est arrivé plein de fois, les settings de link sont les mêmes pour le mode debug et release ?)

Sinon de mémoire j'avais eu un soucis semblable j'avais vérifié les .lib et leurs chemins et en ajoutant un #pragma comment(lib,"malib.lib"); c'était passé...
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
24 févr. 2006 à 23:03
Ouvre ta librairie elle-même avec un éditeur de texte et recherche ServeurInitSocket. Si tu ne le trouve pas, bien c'est que cette fonction n'existe pas du moin, pas dans cette libraire.
0
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006
25 févr. 2006 à 13:22
Cette fonction existe bien dans la librairie puisque j'ai utilisé la
même librairie et la même fonction dans un autre programme.
0
MisterDa2 Messages postés 13 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 28 février 2006
26 févr. 2006 à 15:12
tu n'aurais pas un .lib à spécifier dans les settings de ton projet ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006
28 févr. 2006 à 11:50
j'ai bien DllSocket.lib dans la liste des librairies + le chemin est bon. En effet, si je renomme DllSocket.lib, VC++ m'affiche une erreur comme quoi il ne trouve pas DllSocket.lib.
Dans l'un de mes messages précédents, j'ai dit que j'ai utilisé la même Dll avec un programme1 avec succés. j'ai même comparer les options de Project/Settings/Link & C/C++. y a pas de différence!
J'y comprends rien.
0
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006
28 févr. 2006 à 14:21
j'ajouterai un élément important: la DLL est en c++, le serveur est en C. J'ai ajouté un fichier DllImport.h avec les proto de la DLL. Dans ce fichier j'ai inclus les instructions suivantes:
#ifdef __cplusplus
extern "C"
{
#endif //__cplusplus
0
Rejoignez-nous