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 :

Quelles dll MFC pour une appli ?


Sujet :

MFC

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut Quelles dll MFC pour une appli ?
    Bonjour,

    j'ai développé un petit utilitaire avec les MFC.
    Je voudrais pouvoir le mettre sur une clé usb et pouvoir l'éxécuter depuis n'importe quel poste...

    l'exe se lance bien sur mon poste de dev mais pas sur mon poste bureautique; ça me dit que :
    Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pourrait résoudre ce problème.
    mais voilà, je ne veux pas de kit d'instal...

    je suppose donc qu'il me manque les dll mfc sur mon poste bureautique
    mais lesquelles?
    pourriez-vous me le dire?
    j'ai essayé de mettre mfc80.dll dans le répertoire de l'appli mais visiblement, ça ne suffit pas...

    j'ai essayé de compiler mon appli et la dll qu'elle utilise avec les librairies statiques mfc, mais y'a des erreurs (voir mon précédent post ici auquel je n'ai pas eu encore de réponse...)

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Les dlls à délivrer sont celles que tu as dans ton système de développement.
    mfc80.dll par exemple. Elles doivent être installées dans system32 et enregistrées. Donc programme d'installation!

    Le mieux pour toi est de délivrer un appli avec les dlls liées statiquement. Peux tu donner le message d'erreur complet LNK2000...????

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par alen Voir le message
    Les dlls à délivrer sont celles que tu as dans ton système de développement.
    mfc80.dll par exemple. Elles doivent être installées dans system32 et enregistrées. Donc programme d'installation!
    impossible de faire un programme d'instal,
    les machines cibles n'ont pas assez de droits...

    Citation Envoyé par alen Voir le message
    Le mieux pour toi est de délivrer un appli avec les dlls liées statiquement. Peux tu donner le message d'erreur complet LNK2000...????
    oui, c'est ce que je voulais faire

    voici les erreurs que j'ai :
    Linking...
    ExtractionSpectresDlg.obj : error LNK2001: unresolved external symbol "public: __thiscall

    Donnees:: Donnees(int,class ATL::CStringT<char,class StrTraitMFC<char,class

    ATL::ChTraitsCRT<char> > >)" (??0Donnees@@QAE@HV?$CStringT@DV?$StrTraitMFC@DV?

    $ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
    ExtractionSpectresDlg.obj : error LNK2001: unresolved external symbol "public: class

    Rubrique * __thiscall Rubrique::LireRubrique(class ATL::CStringT<char,class

    StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >)" (?LireRubrique@Rubrique@@QAEPAV1@V?

    $CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
    ExtractionSpectresDlg.obj : error LNK2001: unresolved external symbol "public: int

    __thiscall Rubrique::LireDonnee(class ATL::CStringT<char,class StrTraitMFC<char,class

    ATL::ChTraitsCRT<char> > >,class ATL::CStringT<char,class StrTraitMFC<char,class

    ATL::ChTraitsCRT<char> > > &,int)" (?LireDonnee@Rubrique@@QAEHV?$CStringT@DV?

    $StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAV23@H@Z)
    ExtractionSpectresDlg.obj : error LNK2001: unresolved external symbol "public: int

    __thiscall Rubrique::LireDonnee(class ATL::CStringT<char,class StrTraitMFC<char,class

    ATL::ChTraitsCRT<char> > >,int &,int)" (?LireDonnee@Rubrique@@QAEHV?$CStringT@DV?

    $StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAHH@Z)
    ExtractionSpectresDlg.obj : error LNK2001: unresolved external symbol "public: int

    __thiscall Rubrique::LireDonnee(class ATL::CStringT<char,class StrTraitMFC<char,class

    ATL::ChTraitsCRT<char> > >,double *,int,int)" (?LireDonnee@Rubrique@@QAEHV?$CStringT@DV?

    $StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@PANHH@Z)
    ExtractionSpectresDlg.obj : error LNK2001: unresolved external symbol "public: int

    __thiscall Rubrique::LireDonnee(class ATL::CStringT<char,class StrTraitMFC<char,class

    ATL::ChTraitsCRT<char> > >,double &,int)" (?LireDonnee@Rubrique@@QAEHV?$CStringT@DV?

    $StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AANH@Z)
    ExtractionSpectresDlg.obj : error LNK2001: unresolved external symbol "public: int

    __thiscall Rubrique::LireDonnee(class ATL::CStringT<char,class StrTraitMFC<char,class

    ATL::ChTraitsCRT<char> > >,int *,int,int)" (?LireDonnee@Rubrique@@QAEHV?$CStringT@DV?

    $StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@PAHHH@Z)
    E:\ExtractionCo60_staticlib\Release\ExtractionCo60.exe : fatal error LNK1120: 7 unresolved

    externals
    ...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Ton problème semble lier à l'ATL. J'ai un projet avec les MFC liées statiquement et dans ce projet je lie également l'ATL statiquement.
    Essaye peut-être cela

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    Comment je fais cela??

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    on est pas obligé de distribuer les dll dans system 32 ce n'est pas recommandé d'ailleurs...
    La solution suivante fonctionne :
    Créer un répertoire de distribution en dehors de program file (pour éviter les problèmes sous vista).
    Copier son exécutable dedans.
    Ensuite copier les fichiers contenus dans les répertoires :
    C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT
    Et
    C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.MFC

    voila..

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par melleb Voir le message
    Comment je fais cela??
    Dans les propriétés du projet, 'Project Default'->use of ATL

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut Alléluia!
    Citation Envoyé par farscape Voir le message
    on est pas obligé de distribuer les dll dans system 32 ce n'est pas recommandé d'ailleurs...
    La solution suivante fonctionne :
    Créer un répertoire de distribution en dehors de program file (pour éviter les problèmes sous vista).
    Copier son exécutable dedans.
    Ensuite copier les fichiers contenus dans les répertoires :
    C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT
    Et
    C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.MFC
    Super nickel!
    ça marche enfin!
    Je commençais à désespérer et à pester contre MS & VS...

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par alen Voir le message
    Dans les propriétés du projet, 'Project Default'->use of ATL
    mouais, bah ça marche pas mieux...
    je laisse donc tomber les librairies statiques et je vais trimbaler toutes les dll...
    merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle API utiliser pour une appli client/serveur ?
    Par ManusDei dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 2
    Dernier message: 14/10/2010, 08h00
  2. Quelle language/framework pour une appli web
    Par Teufboy dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 20/06/2008, 21h03
  3. Réponses: 10
    Dernier message: 12/10/2007, 14h02
  4. [PostgreSQL] [postgreSQL] Quelle base gratuite pour une appli commerciale ?
    Par altadeos dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/08/2006, 00h12
  5. Réponses: 4
    Dernier message: 05/06/2005, 14h05

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