Problème avec dll croisées

Résolu
basic_meu Messages postés 2 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 7 janvier 2007 - 7 janv. 2007 à 14:56
basic_meu Messages postés 2 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 7 janvier 2007 - 7 janv. 2007 à 19:22
Bonjour !

Je suis actuellement en train de développer une application qui compporte (entre autres) une dll.
D'ordinaire ce genre de librairie ne me pose aucun problème mais la j'essaye de faire un truc que le compilateur (Visual C++ 2005) ne comprend pas tellement.
Voila mon probleme: j'ai mon programme principal qui fait appel a une classe située dans ma dll. Jusque la aucun probleme.
La ou ça se corse c'est que ma dll fait appel une classe (en singleton) du programme principal.
Je met les includes qu'il faut et je link avec les .lib qu'il faut. Le problème c'est que pour compiler le projet dll, il faut principal.lib, et inversement pour compiler le prog principal il faut dll.lib.
Le truc c'est que comme pour compiler l'un on a besoin de l'autre, ca risque pas de marcher. J'ai quand même trouver une astuce de truand pour résoudre temporairement le truc: je crée un fichier vide principal.lib et je compile la dll. Ca marche sauf qu'il me pète un 'undefined reference' tout a fait logique, mais il crée quand même le dll.lib. Ensuite je compile le prog principal, ca marche et ca écrase le principal.lib avec lequel je peux finalement compiler la dll correctement.

Voila donc ma question: Y a-t-il un moyen pour faire marcher ça en une seule compilation ?

Merci d'avance

2 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
7 janv. 2007 à 17:15
Je propose quelque chose qui ne te satisfera peut-être pas mais bon...
Déclare dans la dll une classe abstraite avec des méthodes virtuelles (celles dont tu as besoin) puis dans l'app principale déclare ta classe comme héritant de celle-ci. Ainsi la dll n'aura pas besoin de link avec l'app, et tu pourras conserver l'implémentation de la classe dans l'app.
3
basic_meu Messages postés 2 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 7 janvier 2007
7 janv. 2007 à 19:22
Hey c'est une super idée, j'y avais pas pensé
Merci beaucoup ça va me permettre d'avancer un peu, j'étais resté obsédé par ce truc la ^^
Ciao !
0
Rejoignez-nous