Compilation séparée dans Dll en C
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:
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:
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:
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