IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[DLL]Cr�er sa dll en Visual C++


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par d�faut [DLL]Cr�er sa dll en Visual C++
    Hello,

    Je bosse actuellement sur Visual Studio.Net 2003 sur lequel j'essaie de cr�er une DLL en C++ pour faire des tests.

    Au moment de la compilation, aucun .dll n'est cr�� et une fen�tre me demande de choisir un exe avec lequel effectuer le debugging... voici le code de mon cpp

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // This is the main DLL file.
     
    #include "stdafx.h"
     
    #include "TestLibrary.h"
     
    int TestLibrary::TestCalcul::addition(int a, int b)
    {
    	return a + b;
    }
    et le code du header

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // TestLibrary.h
     
    #pragma once
     
    using namespace System;
     
    namespace TestLibrary
    {
    	public __gc class TestCalcul
    	{
    		// TODO: Add your methods for this class here.
    	public :
    		int addition(int , int);
    	};
    }
    Je suis encore novice en C++ et je me doute bien que j'ai du oublier quelque chose dans les ifdef au sommet du header.

    Le but final de tout cela serait de pouvoir tester l'int�gration de cette petite DLL dans un projet VB.Net ou C#.

    Merci d'avance !

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Ce sont deux probl�mes diff�rents: Si aucun DLL n'est cr��, tu dois avoir des erreurs de compilation ou de linkage, sinon il est effectivement cr��.

    Par contre, on ne peut pas ex�cuter directmeent un DLL, donc Visual te demande un ex�cutable qui utilise la DLL quand tu veux d�boguer...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par d�faut
    Oui je viens de me rendre compte du probl�me, et j'ai fini par trouver que ma DLL n'avait pas �t� g�n�r�e dans le dossier debug de mon projet, mais dans celle de ma solution...

    Merci quand m�me de ta r�ponse et d�sol� pour la question b�te !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par d�faut
    Encore d�sol�, mais autre question... Je tente de g�n�rer un .lib en m�me temps que mon .dll et j'ai trouv� quelques informations dans les pages de Developpez, ce qui m'a men� au code suivant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #ifdef COMPILE_DLL 
    #define TESTLIBRARY_EXPORT __declspec( dllexport ) 
    #else 
    #define TESTLIBRARY_EXPORT __declspec( dllimport ) 
    #endif 
     
    #pragma once
     
    using namespace System;
     
    namespace TestLibrary
    {
    	public __gc class TestCalcul
    	{
    		TESTLIBRARY_EXPORT int addition(int , int); 
    	};
    }
    le probl�me, c'est qu'il me retourne les deux erreurs suivantes :

    Error C3387 'addition' : __declspec(dllexport)/__declspec(dllimport) cannot be applied to a member of a managed type
    Warning C4273 'TestLibrary::TestCalcul::addition' : inconsistent DLL linkage
    Il ne supporte cependant pas que j'enl�ve le __gc devant ma classe. Je me suis inspir� du post suivant pour mon rajout :

    http://www.developpez.net/forums/vie...ight=dll+creer

    Une id�e de ce qu'il me manque ?

    Merci d'avance !

Discussions similaires

  1. cr�er une dll sous visual studio
    Par kaisser dans le forum C#
    R�ponses: 6
    Dernier message: 29/08/2009, 14h12
  2. R�ponses: 3
    Dernier message: 16/06/2008, 15h23
  3. R�ponses: 7
    Dernier message: 09/11/2005, 02h17
  4. dll builder c++ pour projet visual..?
    Par iznotek dans le forum MFC
    R�ponses: 6
    Dernier message: 12/01/2005, 00h03
  5. [MFC]Cr�er une DLL BIS
    Par Furtif_00 dans le forum MFC
    R�ponses: 5
    Dernier message: 28/06/2004, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo