Bonjour,

Je suis en train de créer une DLL en C, et j'ai un petit soucis de liens.

Dans main.cpp, je déclare cette fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 extern "C" __declspec(dllexport) enum err_msg MORPHO_connexion (int numPort, char* adresseIP)
{
	if(pIPSocket->isConnected == vrai)
	{
		return ERR_INCONNEXION;
	}
	else
	{
		return IP_connexion(numPort,adresseIP,pIPSocket);
	}
}
Cette fonction fait appel à IP_connexion() définie dans IP.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
enum err_msg IP_connexion(int numPort, char* adresseIP, s_IPSocket* pSock)
{
//code.....
}
La déclaration se fait dans "IP.h" qui est inclus dans main.cpp ("#include "IP.h")

Code : Sélectionner tout - Visualiser dans une fenêtre à part
enum err_msg IP_connexion(int numPort, char* adresseIP, s_IPSocket* pSock);
A la compilation, j'ai l'erreur suivante:

MorphoDll.obj : error LNK2001: symbole externe non résolu "enum err_msg __cdecl IP_connexion(int,char *,struct sock *)" (?IP_connexion@@YA?AW4err_msg@@HPADPAUsock@@@Z)
Je ne vois pas quel peut être le problème, le fichier IP.c appartient bien au projet.
Auriez vous une idée?
Merci par avance