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

Visual C++ Discussion :

Pb compilation : "is not a valid executable file"


Sujet :

Visual C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut Pb compilation (en debug, pas en release) : "is not a valid executable file"
    Bonjour,

    J'ai récemment ouvert un sujet qui commençait par un autre problème, et marqué comme résolu...mais pas tout à fait. Reprenons.

    J'étais sur un poste NT avec VC6.
    j'installe VC6 sur un autre poste (XP) et je lui applique le Service Pack 6 (j'ai cru un moment que ça avait résolu le problème)
    Tous mes projets et sources sont sur un lecteur réseau.

    Je compile et j' exécute sans problème en debug et release sur mon poste NT.
    Je compile et j'exécute sans problème en release sur mon poste XP, mais en debug, l'exécutable généré provoque cette erreur ... is not a valid executable file
    .

    Il s'agit vraiment de l'exécutable produit car si je le compile sur le poste NT et que je l'exécute en debug depuis le poste XP, ça fonctionne....***


    ***enfin presque car quand Visual atteint le point d'arrêt, il m'ouvre une fenêtre "Find Symbols" avec "Please enter the path for nafxcwd.pdb" en m'écrivant par défaut e:\8168\vc98\mfc\mfc\lib dont je ne sais pas d'où ça vient étant donné que dans les paramètres de Visual j'ai bien C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE mais bon, en faisant cancel ça veut bien continuer quand-même...

    Mais d'où peut venir ce problème dans l'exe de debug?!
    Indice : l'exe sous XP fait 1129 ko alors que sous NT il fait 1113 ko

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Ca n'inspire personne on dirait...ça ne m'étonne pas, la MSDN de Microsoft n'est pas inspirée non plus...

  3. #3
    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
    Par défaut
    vérifies les paths dans le parametrage général de vc6.0: tools\options\directories.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Citation Envoyé par farscape Voir le message
    vérifies les paths dans le parametrage général de vc6.0: tools\options\directories.

    Non, il n'y a pas de problème là-dessus a priori; j'ai remis le même genre de configuration que sur l'autre poste. Toutes les librairies y sont (d'ailleurs comment ça pourrait compiler, et s'exécuter en release s'il manquait quelque chose?)

  5. #5
    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
    Par défaut
    pas forcement nafxcwd.pdb c'est utile au mode debug uniquement..


  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Tu as raison mais ce fichier est bien présent à la fois sur mon poste et dans le Directories :
    C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

    donc ça doit être autre chose

  7. #7
    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
    Par défaut
    tu devrais faire une recherche sur le path:
    e:\8168\vc98\mfc\mfc\lib
    il doit bien être quelque part .
    vérifies tes variables d'environnement sur ton poste.


  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Citation Envoyé par farscape Voir le message
    tu devrais faire une recherche sur le path:
    e:\8168\vc98\mfc\mfc\lib
    il doit bien être quelque part .
    Je peux t'assurer que je n'ai aucun lecteur de lettre "E", d'ailleurs quand je vais dans l'explorateur et que je tape e:, ça ne trouve logiquement rien

    Citation Envoyé par farscape Voir le message
    vérifies tes variables d'environnement sur ton poste.
    Ah, idée intéressante, mais que dois-je chercher?
    En rapport avec Visual, je ne vois que la variable VS80COMNTOOLS positionnée à C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
    (mais je ne l'avais pas sur mon poste NT cette variable, ce qui ne l'empêchait pas de fonctionner), pas de e: non plus sur ce poste d'ailleurs

  9. #9
    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
    Par défaut
    alors dans ta base de registre ...

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    alors dans ta base de registre ...
    Peux-tu spécifier ce qu'il faut que je fasse exactement et ce qu'on cherche?
    je me trompe peut-être mais cette histoire de E:\ peut être une fausse piste (ça, c'est jsute quand j'exécute l'exécutable créé par le poste NT sous le Visual du poste XP) : le principal problème est pourquoi le Visual du poste XP fabrique mal l'exécutable de debug

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Toujours là?

  12. #12
    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
    Par défaut
    Citation Envoyé par stof Voir le message
    Peux-tu spécifier ce qu'il faut que je fasse exactement et ce qu'on cherche?
    je me trompe peut-être mais cette histoire de E:\ peut être une fausse piste (ça, c'est jsute quand j'exécute l'exécutable créé par le poste NT sous le Visual du poste XP) : le principal problème est pourquoi le Visual du poste XP fabrique mal l'exécutable de debug
    heu rassures moi.
    tu es en train d'exécuter un programme en debug sur un autre poste que celui qui l'a généré ?
    si c'est le cas il ne faut pas s'attendre a avoir des bizarreries sur la recherche d'un fichier binaire surtout sur deux postes avec des os différents.
    on distribue un programme en release pas en debug.
    si c'est pour debuger il y a d'autres options comme activer la génération des informations de debug de mappage etc pour la version release.
    dr watson faisant ensuite le reste.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Bonjour,

    Allez, faut que je trouve cette semaine.

    Bon alors oui, j'ai ESSAYE de compiler sur le poste NT et d'exécuter l'exe de debug produit sous le Visual du poste XP pour voir si c'est l'exécution qui lui posait problème, c'est tout.
    ca a confirmé que c'est la génération de l'exe de debug qui fonctionnait mal sous le Visual du poste XP.

    Maintenant que faut-il faire exactement dans la direction
    activer la génération des informations de debug de mappage etc pour la version release.
    dr watson faisant ensuite le reste
    L'option "generate browse info" est déjà cochée.

    Merci.

  14. #14
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Mais là, je crois que c'est la Debug Info qu'on te conseille d'activer même en Release.
    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.

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Mais là, je crois que c'est la Debug Info qu'on te conseille d'activer même en Release
    "generate debug info" était coché en debug, pas en release.
    Je l'ai rajouté en release, que dois-je faire ensuite (la situation est la même, ça s'exécute en release, pas en debug)

  16. #16
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Il semblerait que tu n'aies pas compris que C'EST NORMAL que ça ne puisse pas s'exécuter en Debug sur un autre poste...
    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.

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    On ne s'est pas compris je crois :

    Oubliez l'histoire de compiler sur un poste et exécuter sur un autre (c'était juste un test) :
    le problème, c'est que l'exécutable de debug produit sous mon poste XP ne s'exécute pas (toujours sous le même Visual sous XP toujours qui a servi à le générer)

    (cf relire le premier post pour comprendre ma demande)

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    farscape, Medinoc, êtes-vous parti ou en panne d'inspiration?

    Suis-je seul au monde à avoir ce problème (si j'en crois google)?

  19. #19
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    la seule raison pour avoir ce message ("is not a valid executable file.") est que :

    - On tente d'exécuter autre chose qu'un exécutable
    - Si c'est bien un exécutable : le PE est corrompu.

    Attention : .exe ne signifie pas exécutable !

    Comme c'est le rôle de l'éditeur de lien (linker) de produire le PE (Portable executable), j'irais voir du coté des options du linker si il n'y pas quelque chose qui cloche.

    Ca peut être un simple flag qui aurait été changé par inattention, ou une simple option a priori anodine. (il suffit par exemple d'avoir mis le flag "driver" et le linker produit un fichier avec l'extension .exe qui n'est absolument pas exécutable).

    Au pire, si après avoir visité toutes les options, tu ne trouves rien qui cloche, créé un nouveau projet et met y (copier/coller) tes fichier sources (le mieux est que le fichiers sources ne contiennent aucun pragma destiné au linker).

    Relance alors un "Build", le fait d'avoir à nouveau les options "par défaut" peut remédier au problème.

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Ca peut être un simple flag qui aurait été changé par inattention, ou une simple option a priori anodine
    Je reprécise que le projet identique fonctionne sur l'autre poste (Wondows NT), y compris en debug. Donc toutes les options sont identiques



    Au pire, si après avoir visité toutes les options, tu ne trouves rien qui cloche, créé un nouveau projet et met y (copier/coller) tes fichier sources (le mieux est que le fichiers sources ne contiennent aucun pragma destiné au linker).
    Relance alors un "Build", le fait d'avoir à nouveau les options "par défaut" peut remédier au problème.
    Je viens de recréer un nouveau projet mais j'arrive encore moins à le faire compiler, faut que je continue à regarder option par option ce qui diffère de l'autre.

    je suis vraiment mal parti là...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/08/2007, 19h02
  2. erreur: pg_query() 5 is not a valid PostgreSQL link resource
    Par david_chardonnet dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 10/06/2005, 13h50
  3. Réponses: 3
    Dernier message: 30/09/2004, 20h16
  4. is not a valid MySQL-Link resource
    Par $erial.coder dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/07/2004, 11h16

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