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 Compil en Release avec en-tête precompilés


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut Pb Compil en Release avec en-tête precompilés
    Bonjour à tous, j'ai un sérieux pb de compilation de mon projet, qui compile parfaitement en Debug, mais pas en release !

    En fait je ne comprends pas comment me servir des en tete precompilés pour le coup.

    Mon projet est simplement composé de 4 fichiers cpp et 4 .h. Parmi eux stdafx.h bien evidemment.

    Mon option de compilation en debug, est "Creer un en tete precompilé". Le fichier en question est le fichier StdAfx.h. Lorsque j'utilise la meme chose en Release, J'obtiens un message d'erreur de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    warning C4727: PCH nommé f:\...\release\crypta.pch comportant le même horodatage dans f:\...\Release\TCrypta.obj et f:\...\Release\CMainFrame.obj. Utilisation du premier PCH.
    TCrypta.obj : error LNK2005: ___@@_PchSym_@00@UkilwfxgrlmhLkvihlmmvoovhUkiltUxibkgzUxibkgzUxibkgzUivovzhvUgxibkgzOlyq@ déjà défini(e) dans CMainFrame.obj
    Je ne comprends absolument rien au conflit qui se pose. Apparemment tous mes fichiers posent ce pb de symbole deja defini dans CMainFrame.obj. Pourtant cette classe est comme les autres, elle n'a rien de spéciale. Elle inclut simplement "TCrypta.h" et le .cpp inclut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include "stdafx.h"
    #include "CMainFrame.h"
    Donc tout est bon ! De quelle autre info auriez vous besoin pour m'aider ?

    Merci.

  2. #2
    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
    salut,
    tu as essayé de faire un clean , et rebuild all ?

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut
    Oui oui ! Cent fois evidemment !

    Etrange ce pb n'est-ce pas !

    Merci pr ton aide.

  4. #4
    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
    je pense que la version release de ton projet a un problème.
    peut être as tu désactivé la génération du pch sur certains fichiers.
    il faut aussi vérifier les différents chemins de sorties avec la version debug:
    les déplacements relatifs .. / etc ..
    il y a certainement quelque chose qui a bougé .
    au pire si tu t"en sors pas:
    tu crées le même projets (même nom) dans un autre répertoire
    tu récupères le .dsw ou dsp ou vcproj suivant le compilo; dans ton ancien projet et tu rajoutes les sources dedans...

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut
    Merci bcp pour ton aide.

    Effectivement j'ai regardé tout ca de plus pres, et finalement j'arrive à résoudre ces problèmes en réglant pour l'ensemble de mon projet l'option "Utiliser un en tete précompilé (/Yu)", sauf pour le fichier stdafx.cpp où je mets "créer un en tete précompilé (/Yc)".
    Voila, tout ca me semble super logique sauf que pour la version débug mon projet entier (et donc tous les fichiers sous-jacents) sont configurés avec "Créer un en tete precompilé". Donc pour ca fonctionne en debug ? L'utilisation n'est pas la même ?

    Merci en tout cas.

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut
    Je ne sais pas si ca un lien, mais si ca marche en debug c'est peut etre parce que la directive de préprocesseur NOPCH est mise "par defaut" à la création d'un projet Visual, seulement en DEBUG.
    Voila, en tout cas mon pb est résolu.
    ++

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

Discussions similaires

  1. Compilation release avec VSExpress
    Par RomainDotNet dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 08/08/2008, 17h00
  2. Compilation en debug avec des lib en release
    Par Aradesh dans le forum MFC
    Réponses: 2
    Dernier message: 05/01/2007, 10h47
  3. Réponses: 1
    Dernier message: 02/02/2006, 11h10
  4. Compiler en debug avec une librairie en release
    Par Philippe320 dans le forum MFC
    Réponses: 4
    Dernier message: 25/11/2005, 17h33
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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