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 Debug embarquer dans un Release.


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut DLL Debug embarquer dans un Release.
    Bonjour,
    je développe une application MFC sous VS2008, j'un problème: mon release embarque une DLL Debug, lorsque je régénère mon application en release je peut l'utilisé que sur des pc ou VS2008 est installé, la DLL embarqué dans mon Release est MSVCP90D.DLL
    Cela vient il d’une propriété du projet mal renseigner ?merci d’avance pour votre aide.

  2. #2
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Tu as été voir les option de compil ?
    tu as bien NDEBUG et pas _DEBUG ?

    Tu n'es pas obligé d'avoir Visual pour exécuter des binaires en debug. il suffit d'avoir MSVCP90D.DLL.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    Tu as été voir les option de compil ?
    tu as bien NDEBUG et pas _DEBUG ?.
    oui c'est bien NDEBUG

    Citation Envoyé par fregolo52 Voir le message
    Tu n'es pas obligé d'avoir Visual pour exécuter des binaires en debug. il suffit d'avoir MSVCP90D.DLL.
    Non, ça ne marche pas même si j'ai MSVCP90D.DLL, en plus comme tu doit le savoir nous avons pas le droit le faire.

  4. #4
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Si tu utilises dependencies walker, qui dépend directement de MSVCP90D.DLL, ton exe ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    Si tu utilises dependencies walker, qui dépend directement de MSVCP90D.DLL, ton exe ?
    Images attachées Images attachées  

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Bip ... mauvaise réponse

    Il fallait comprendre "A quoi est attaché MSVCP90D.DLL dans dependencies walker" et pas "qu'est ce qui est attaché à MSVCP90D.DLL"

    C'est le module qui utilise MSVCP90D.DLL ou un de ses parents qui a un problème d'options de compilations (mode debug)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Bip ... mauvaise réponse

    Il fallait comprendre "A quoi est attaché MSVCP90D.DLL dans dependencies walker" et pas "qu'est ce qui est attaché à MSVCP90D.DLL"

    C'est le module qui utilise MSVCP90D.DLL ou un de ses parents qui a un problème d'options de compilations (mode debug)
    Le module parent qui utilise MSVCP90D.DLL est en mode release, en fait c'est la seule DLL debug du projet, tous les autres DLL sont Release.

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Est ce que l'on pourrait avoir la vue complète de dependency walker (et pas une vue partielle).

    Si ce que tu dis est vrai, il y a certainement un problème dans les options de compilation/linkage de ton projet. Vérifie ces options et si tu ne trouve pas, recommence...
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Est ce que l'on pourrait avoir la vue complète de dependency walker (et pas une vue partielle).
    voir l'imp écr ci-dessous

    Citation Envoyé par ram-0000 Voir le message
    Si ce que tu dis est vrai, il y a certainement un problème dans les options de compilation/linkage de ton projet. Vérifie ces options et si tu ne trouve pas, recommence...
    Tu confirme mon intuition, en fait j'ai vérifier toutes les options plusieurs fois avant même que je poste ce problème, mais rien ne me semble bizar , même si au fond de moi je suis sur que ça pe venir d'une option mal ou non renseigne, est ce que tu a une idée? comme pui-je bien vérifier ces options? Il faut que tu sache que ce projet a était converti de VS06 à VS2008.
    Images attachées Images attachées  

  10. #10
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    As tu regardé les options de tous les fichiers (c ou cpp).

    Il faut savoir que le projet à des options de compilation/linkage mais que les fichiers peuvent avoir des options spécifiques et différentes des options du projet. Ces option du projet sont appliquées à tout les nouveaux fichiers créés.

    clic droit sur le fichier puis propriétés dans l'arbre de l'explorateur de solution.

    Une option radicale est de supprimer tous les fichiers sources de ta solution (Attention, sans supprimer les fichiers, il y a une confirmation de ce que tu veux réellement faire posée à ce sujet) et ensuite de réinsérer tous les fichiers sources dans le projet. Ainsi, ces fichiers sources prendront bien les options du projet (je n'ai pas trouvé d'autre option pour réappliquer les options du projet sur les fichiers et ainsi écraser les options des fichiers).
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  11. #11
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    As tu regardé les options de tous les fichiers (c ou cpp).

    Il faut savoir que le projet à des options de compilation/linkage mais que les fichiers peuvent avoir des options spécifiques et différentes des options du projet. Ces option du projet sont appliquées à tout les nouveaux fichiers créés.
    En effet !! le projet dépend de MSVCP90D et MSVCP90, c'est louche !
    Pour ça, il faut éditer le fichier projet.vcproj et regarder dedans s'il y a des _DEBUG ou DEBUG, c'est plus simple que de prendre un à un les propriétés des fichiers dans Visual.

  12. #12
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 464
    Par défaut
    Il est aussi possible de "référencer" la dll directement depuis le code source avec un #pragma comment(lib,....).

    En Bref il y a une couill* dans projet.

    Cela ne semble être qu'une étourderie car, au vue de l'image de dependancy walker, aucune fonction de cette dll n'est vraiment utilisée.

    Regardez dans les traces de compilation le motif de cette inclusion fortuite.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    As tu regardé les options de tous les fichiers (c ou cpp).

    Il faut savoir que le projet à des options de compilation/linkage mais que les fichiers peuvent avoir des options spécifiques et différentes des options du projet. Ces option du projet sont appliquées à tout les nouveaux fichiers créés.

    clic droit sur le fichier puis propriétés dans l'arbre de l'explorateur de solution.

    Une option radicale est de supprimer tous les fichiers sources de ta solution (Attention, sans supprimer les fichiers, il y a une confirmation de ce que tu veux réellement faire posée à ce sujet) et ensuite de réinsérer tous les fichiers sources dans le projet. Ainsi, ces fichiers sources prendront bien les options du projet (je n'ai pas trouvé d'autre option pour réappliquer les options du projet sur les fichiers et ainsi écraser les options des fichiers).
    Je vien de le faire à l'instant ça ne donne rien, toujour le meme probleme.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    En effet !! le projet dépend de MSVCP90D et MSVCP90, c'est louche !
    Pour ça, il faut éditer le fichier projet.vcproj et regarder dedans s'il y a des _DEBUG ou DEBUG, c'est plus simple que de prendre un à un les propriétés des fichiers dans Visual.
    Oui, mais de quelle propriétes s'agit-il? celles que j'ai consulté elles sont toutes en NDEBUG, mais je n'ai pas vu de _DEBUG ou DEBUG.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Il est aussi possible de "référencer" la dll directement depuis le code source avec un #pragma comment(lib,....).

    En Bref il y a une couill* dans projet.

    Cela ne semble être qu'une étourderie car, au vue de l'image de dependancy walker, aucune fonction de cette dll n'est vraiment utilisée.

    Regardez dans les traces de compilation le motif de cette inclusion fortuite.
    j'ai fait une recherche avec: MSVCP, #pragma comment, #pragma, lib, je ne l'ai pas trouvé.

  16. #16
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Citation Envoyé par atlascom Voir le message
    Oui, mais de quelle propriétes s'agit-il? celles que j'ai consulté elles sont toutes en NDEBUG, mais je n'ai pas vu de _DEBUG ou DEBUG.
    Indépendamment de la propriété si tu n'as que du NDEBUG, ton problème ne vient pas du compilateur. Mais probablement du linker, mais où ?

    Dans le code source, cpp et h, tu n'aurais pas un truc dégueulasse que traîne ? Style :
    #define DEBUG

  17. #17
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 464
    Par défaut
    Et les traces de compilation d'édition de lien, please ?

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    Indépendamment de la propriété si tu n'as que du NDEBUG, ton problème ne vient pas du compilateur. Mais probablement du linker, mais où ?

    Dans le code source, cpp et h, tu n'aurais pas un truc dégueulasse que traîne ? Style :
    #define DEBUG
    Non, je n'ai pas trouvé #define DEBUG par contre j'ai trouvé ce type de definition:
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif


    sur le lien suivant ils disent qu'on pe les supprimer?
    http://support.microsoft.com/kb/143207/fr

  19. #19
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par atlascom Voir le message
    ...par contre j'ai trouvé ce type de definition:
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    C'est une aide en mode debug qui permet de tracer à la fin de ton programme les blocs alloués par new et non libérés (les appels à new sont remplacés par par des appels à DEBUG_NEW).

    C'est utile dans certains cas, tu peux le laisser sans crainte, ce n'est actif qu'en mode debug
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  20. #20
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 464
    Par défaut
    Arrêtons de chasser le Dahu, les traces de compilation et d'édition de lien, please.
    Elles sont, soit dans la fenêtre "sortie/output" de VS, si vous avez configuré pour qu'elles soient détaillées dans cette fenêtre, soit dans un fichier donc le chemin est indiqué dans cette même fenêtre "sortie".

Discussions similaires

  1. dlls debug en release ?
    Par KissCoul dans le forum MFC
    Réponses: 3
    Dernier message: 29/10/2009, 13h42
  2. [CF 2] dll en trop dans le dossier debug
    Par Eowyn87 dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 19/12/2007, 14h33
  3. Du Debug dans mon Release !!
    Par el_filosof dans le forum MFC
    Réponses: 3
    Dernier message: 03/06/2006, 10h41
  4. [MDI][DLL] Enfant MDI dans une dll
    Par Pascal Jankowski dans le forum Composants VCL
    Réponses: 5
    Dernier message: 02/04/2004, 07h41
  5. Liaison d'une dll Visual C++ dans un programme c++Builder
    Par Cyrilh7 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/11/2003, 13h49

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