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 :

[MFC] Utiliser la MFC dans un projet ATL


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Par défaut [MFC] Utiliser la MFC dans un projet ATL
    Je souhaiterais utiliser la classe CSemaphore de la MFC dans un projet ATL.

    J'obtiens le message d'erreur suivant lors de la compilation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
    Le problème c'est que <windows.h> est inclus dans un fichier .h généré automatiquement lors de la création du fichier ATL.

    D'où mon problème : comment fait on pour utiliser une classe de la MFC (si c'est possible) dans un projet ATL ?


    Merci

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    oui c'est possible d'utiliser les deux en meme temps

    tu peux faire un truc du genre dans stdafx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #undef _WINDOWS
    #include <afxwin.h> // MFC core and standard components
    #include <afxext.h> // MFC extensions
    #include <afxdisp.h> // MFC Automation extensions
    #define _WINDOWS_

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Par défaut
    Ca compile maintenant mais j'ai les erreurs suivante lors de l'édition de liens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    error LNK2005: _DllMain@12 already defined in REM.obj
    error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
    error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
    error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in LIBCMTD.lib(new2.obj)
    error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)
    fatal error LNK1169: one or more multiply defined symbols found
    REM étant le nom du projet ATL

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    est-ce que le wizard atl ne t'aurait pas créé un dllmain quelque part ? enleve le

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Par défaut
    Exactement, j'ai un DllMain
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // DLL Entry Point
    extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
    {
        hInstance;
        return _AtlModule.DllMain(dwReason, lpReserved); 
    }
    Mais il risque pas de manquer si je l'enleve ?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu dois en avoir un autre quelque part pour qu'il y ait cette erreur, non ?

Discussions similaires

  1. Utiliser une DLL dans un projet MDI
    Par Gazdon dans le forum Fortran
    Réponses: 0
    Dernier message: 26/01/2009, 11h58
  2. [NVSG] Utilisation du NVSG dans vos projets
    Par Kurisu dans le forum API graphiques
    Réponses: 0
    Dernier message: 12/12/2008, 15h30
  3. Problème dans un projet ATL COM avec DLL et MFC.
    Par jamais34 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 03/10/2007, 19h03
  4. [MFC] Perte du clw dans un projet ATL
    Par Yapadavaro dans le forum MFC
    Réponses: 2
    Dernier message: 29/04/2005, 14h01
  5. [MFC] affichage image caméra dans un projet dialog
    Par Vestaproman dans le forum MFC
    Réponses: 3
    Dernier message: 07/02/2005, 13h27

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