Utilisation d'une librairie statique développée en C++ dans du code en C

Résolu
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006 - 22 févr. 2006 à 17:20
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006 - 23 févr. 2006 à 15:02
Bonjour,

est-il possible de utiliser une librairie statique développée en C++ dans un programme dévloppé en C?

J'utilise Visual C++ comme environement de développement.

Merci

6 réponses

katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
23 févr. 2006 à 11:33
Re-bijour :) winsock2.h est inclus avant windows.h
3
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006
23 févr. 2006 à 15:02
J'ai trouvé la source du pb! Dans la liste des librairies, j'ai mis DLLSocket.dll au lieu de DLLSocket.lib.

Merci à tous
3
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
23 févr. 2006 à 09:11
Salut :)

Affirmatif.
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
23 févr. 2006 à 10:00
Il suffit de déclarer les méthodes C++ utilisables à partir du C en tant que extern "C".
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
23 févr. 2006 à 11:10
Dés que j'ajoute #include <winsock2.h> dans mon appli, je compile et là j'obtiens 195 error(s), 33 warning(s). Extrait de ces erreurs:
c:\program files\microsoft visual studio\vc98\include\winsock2.h(99) : error C2011: 'fd_set' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(134) : warning C4005: 'FD_SET' : macro redefinition
c:\program files\microsoft visual studio\vc98\include\winsock.h(83) : see previous definition of 'FD_SET'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(143) : error C2011: 'timeval' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(199) : error C2011: 'hostent' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(212) : error C2011: 'netent' : 'struct' type redefinition
.............
j'ai vérifié que winsock2.h n'est inclus nul par ailleurs: j'ai viré mon
#include <winsock2.h> et j'ai déclaré une variable type SOCKET, le compilateur à afficher une erreur comme quoi il ne connait pas!
0
oh81 Messages postés 17 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 mars 2006
23 févr. 2006 à 12:06
t'as raison! j'ai viré les include<windows.h> de trop. Là j'obtiens une erreur de linkage: .\LIB\DLLSocket.dll : fatal error LNK1136: invalid or corrupt file.
0
Rejoignez-nous