begin process at 2012 02 11 01:08:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

une classe dans une DLL C++...?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

une classe dans une DLL C++...?

jeudi 4 octobre 2007 à 17:42:11 | une classe dans une DLL C++...?

axiagame

Bonjour tout le monde...

voilà je vous expose le problème clairement :

Je suis en train de développer une application on va dire ludique en Cpp, avec une librairie qui utilise directX...

Jusque là, tout va bien, le souci est que VS8 se plante à la compilation, et laisse passer une exception qui devrait être capturée (après une infinité de tests, et même des catch(...), ça passe on est sûr à 100% que ca vient de VS8). J'ai donc décidé de créer une DLL pour y mettre le système complet de gestion des ressources de base pour mon projet ; ainsi elle me servira pour tous les projets.

Seulement, je ne sais pas comment on intègre une classe dans une DLL en C++, pouvez-vous m'aider???

Merci d'avance, @xi@g@me
vendredi 5 octobre 2007 à 14:00:28 | Re : une classe dans une DLL C++...?

Arnaud16022

Membre Club
VS8.. tu veux dire VC2005 ?

En quoi créer une DLL te permettra d'éviter ton problème, ça sera toujours le même compilo ...
mais vu que je ne suis pas sûr de bien avoir compris le problème je vais quand même répondre à la question: de la même manière que pour quoi que ce soit d'autre :)

Tu fais ton .h ou .hpp qui définit ta/tes classes. Tu fais le .cpp qui correspond, tu compiles le tout en dll ( pour ça faut voir les options du linker, normalement ça se règle dans l'IDE à la création du projet : create new dll )
Regle le linker pour qu'il produise la dll dans le rep de l'exe.

Dans le projet du .exe tu fais un #include vers le .h, tu linkes avec le .lib que t'a donné la compil de la dll, et roulez jeunesse . Il n'y a qu'un define à faire dans le cpp qui fait l'include.

Attention ! le name mangling du C++ n'est absolument pas normalisé. Ca veut dire que dans le .lib, si tu compiles avec un compilo l'étiquette sera du genre __classe@@function_lkjh alors qu'avec un autre ça sera _@function&class_int_float , je dis ça parfaitement au hasard hein. Conclusion : prendre le même compilo pour la dll et le .exe qui l'utilise.   

_______________________
Omnia vincit labor improbus
http://calvin-studio.fr
samedi 6 octobre 2007 à 14:47:35 | Re : une classe dans une DLL C++...?

axiagame

bonjour,

déjà merci pour ta réponse

oui, je parle de VC++ 2005...
pour la dll avec un .h et un .cpp, j'ai déjà essayé, mais ca marche pas tout simplement car le compilateur ne me créée pas de .lib, je n'ai qu'un .dll et un .h, ca serait trop facile...

après, l'exe et la dll sont tous les deux dans la même solution de VC++ 2005, donc pas de problèmes de compilo
samedi 6 octobre 2007 à 17:57:41 | Re : une classe dans une DLL C++...?

Arnaud16022

Membre Club
S'il ne crée pas le .lib c'est qu'il y a une option que tu n'as pas cochée ... c'est pas normal.
essaye Linker->advanced->import library , mais je suis pas sûr, je connais pas bien VC.  

_______________________
Omnia vincit labor improbus
http://calvin-studio.fr
dimanche 7 octobre 2007 à 21:51:27 | Re : une classe dans une DLL C++...?

axiagame

alors en fait j'ai contacté un 'expert' en la matière qui m'a proposé de faire une bibliothèque de classes, pour résoudre mon problème avec un espace de noms... le souci est que le moteur 3D que j'utilise est en configuration MultiThread (/Mt), et cette configuration n'est pas compatible avec l'option /clr, qui est nécessaire pour ma bibliothèque de classes... En gros si je change la configuration de mon projet, je ne peux plus éditer les liens, et si je change celle de ma bibliothèque, je ne peux plus compiler ni l'un ni l'autre : traduction je crois que c'est mort, merci à tous quand même


Cette discussion est classée dans : dll, classe, vs8


Répondre à ce message

Sujets en rapport avec ce message

Classe dans 1 dll en VC++6??? [ par irokoy ] Salut!Comment fait-on pour mettre une classe dans une dll?Merci d'avance! problème de copier-coller pour les .h des dll ? [ par ilimo ] bonjour,j'ai trois projets : P1 : dll : contient la classe aP2 : dll : contient la classe bP3 : exe : contient la classe c qui se sert d INSTANCIER UNE CLASSE D'UNE DLL [ par KL ] Bonjour,J'ai un enorme problème !J'ai créé une DLL avec des classes dedansMaintenant je veux pouvoir importer ces classes dans un prog Win32 et pouvoi probleme creation dll de classe [ par juju cogne ] Voila j'ai codé une classe (.h et cpp) et je voudrais passer cette classe avec ses méthodes ainsi que les méthodes globales de cette application dans template dll ou autre??? [ par Bilock ] Bonjour,j'aimerai créer un programme chargeant des dll de traitement audio temps réel.J'aimerai que ces dll contiennent une classe que je puisse insta dll pour asp avec connection odbc [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset Problême de DLL [ par Gendal67 ] Voila mon problême : Je souhaite créer une DLL qui contiendrais une classe que j'ai créee ! Quel est le moyen le +simple et le moins emcombrant pour p pb d'importation d'une classe template à partir d'une DLL avec Visual Studio .NET [ par Diabolus ] Salut,J'ai un problème d'importation à partir d'une DLL.Je souhaite importer une classe qui est de type template dans mon application.J'ai réussi à im Utilisation de la classe CString et les fonctions associées dans une DLL [ par Warwick ] Bonjour, je souhaiterais pouvoir utiliser la classe CString dans une DLL ainsi que les fonctions du type MessageBox... Est-ce possible, car cela me g Problème de d'utilisation d'une Dll avec un exe [ par pca06 ] Bonsoir, Je dois utiliser les fonctionnalités d'une Dll dans un application écrite en C. La Dll est constituée d'un classe C++ exportée. J'ai déclaré


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales