Problème de linkage S'il vous plait c'est assez urgent
mathusale_ftl
Messages postés36Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention18 août 2006
-
24 mars 2006 à 15:41
mathusale_ftl
Messages postés36Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention18 août 2006
-
28 mars 2006 à 10:07
Bonjour à tous,
Je suis
actuelement étudiant en 2ème Année de BTS info indus, et dans le cadre
du projet de bts je suis amener à compiler une DLL ( un composant que
j'ai écris pour visual studio .NET ) avec une librairie static.
Cependant quand je compile je reçois les erreurs suivantes : j'en met que une , car les autres sont identiques
Error 1 error LNK2028: unresolved token (0A000016) "extern "C"
int __clrcall nsio_checkalive(char *,unsigned long)"
(?nsio_checkalive@@$$J0YMHPADK@Z) referenced in function "public: int
__clrcall Communication_Serie::CGestionCNGraphique::ping_server(int)"
(?ping_server@CGestionCNGraphique@Communication_Serie@@$$FQAMHH@Z)
UnitClassLiaisonSerie.obj
J'ai cherché et cherché et je
ne trouve pas de solution. Si je compile sans la classe que je veux
ajouté y a pas de problème et le composant marche à 100%.
Mais je veux tout de même utilisé cette classe qui utilise cette lib.
Mon projet est une application CLR: pure
Avez vous une idée?
Merci de votre aide
A voir également:
Problème de linkage S'il vous plait c'est assez urgent
mathusale_ftl
Messages postés36Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention18 août 2006 24 mars 2006 à 16:18
J'ai également essayé de faire
#ifdef __cplusplus
extern "C"
{
#endif
//Les méthodes....
#ifdef __cplusplus
}
#endif
et je reçoit toujours les mêmes erreurs...
J'ai un peu du mal à saisir le problème sachant que j'ai réglé le
compilo de manière à ce qu'il affiche les lib qu'il lie... toute sont
bien linké à priori
Vous n’avez pas trouvé la réponse que vous recherchez ?
Kangourou_Nomade
Messages postés92Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention16 janvier 2007 25 mars 2006 à 00:19
J'avais bien compris. Je n'ai jamais sous entendu que le probleme venais de ta classe. ce que j'ai dit, c'est que mettre un extern "C" sur une fonction membre de classe, ce n'est pas possible, a moins que celle ci ne soit statique : quand tu compile, tu ne vas pas linker une classe non instancier : c'est inutile. Donc les methodes ne sont pas linkées. C'est pour cela que je t'ai proposé de faire une fonction standard C qui, dans son bloc instanci ta classe et lance la methode interessée.
mathusale_ftl
Messages postés36Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention18 août 2006 25 mars 2006 à 07:59
D'accord. Mais tu vois, mon projet en général utilise la lib, ainsi que
la classe écrite ( qui sert à piloter un switch série ) et aucune
erreur de copmilation ne se présente. Alors que quand je veux insérer
ma classe ( qui utilise la lib) dans le composant que j'ai écris
pour afficher un atelier en 3dimensions ( openGL ), le copmilo
m'affiche ces erreurs...
Escuse moi si je comprend mal le problème, je débute en linkage.... du moins ce genre de linkage... lol