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 :

Migration VC 4.2 -> VC 2005


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut Migration VC 4.2 -> VC 2005
    Bonjour à tous,

    J'essaye de migrer une ancienne application développée en VC 4.2 vers Visual C 2005 express Beta pour la rendre compatible avec Windows 2000 ou XP.

    Après l'ajout des bons include j'ai fini par bloquer complètement sur cette erreur de linkage produite à tous mes fichiers :

    NomFichier.obj : error LNK2001: unresolved external symbol ___security_cookie

    Cette référence est ajoutée par VC 2005. J'ai trituré à peu près toutes les options de compilation mais sans résultat.

    Si quelqu'un pouvait m'aider ou m'indiquer peut-être une meilleure solution pour rendre compatible cette ancienne appli WIN32 compatible avec Windows 2000 car je suis très ennuyé...

    Cordialement,

    Vephil

  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,
    je pense que c'est une variable a toi .
    regarde ou elle est déclarée et si sa déclaration n'est pas conditionnelle (ifdef)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Citation Envoyé par farscape
    je pense que c'est une variable a toi .
    regarde (ifdef)
    Et non malheureusement. Je suis formel. Pas de variable ou de def pour ce symbole de mon côté.

    Vephil

  4. #4
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Je pense plutot que c'est lié au mécanisme de vérification d'écrasement de pile introduit avec VC++ 7 ou 7.1. Il insère un "cookie" en début de pile et lorsque tu quittes la fonction, le compilo vérifie qu'il n'a pas été écrasé, auquel cas c'est qu'il y a eu stack corruption.
    Je sais pas trop pourquoi tu te prends cette erreur, je dirais que c'est un mélanges de vieux et nouveaux .lib / .obj.
    As-tu bien recompilé tout ton programme avec VC++ 8 ?
    Sinon ce cookie se désactive dans C/C++->Génération de code->Vérification de la sécurité de la mémoire tampon.
    http://msdn.microsoft.com/library/en-us/vccore/html/vclrfGSBufferSecurity.asp
    http://msdn.microsoft.com/library/en-us/dv_vstechart/html/vctchCompilerSecurityChecksInDepth.asp
    Tiens d'ailleurs, en cherchant l'aide sur /Gs:
    http://blogs.msdn.com/nikolad/archive/2005/01/27/362214.aspx

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    Je pense plutot que c'est lié au mécanisme de vérification d'écrasement de pile .....Tiens d'ailleurs, en cherchant l'aide sur /Gs:
    http://blogs.msdn.com/nikolad/archive/2005/01/27/362214.aspx
    Merci Aurélien pour ces infos très intéressantes. J'approche de la solution il me semble. Le problème est bien lié avec ce contrôle de pile. Mais impossible de retirer cette erreur avec ou sans l'option Gs, également en supprimant les options RTCx.
    Je veux donc inclure la librairie concernée.

    J'ai cherché la librairie incriminée bufferoverflowU.lib mais pas trouvé sur mon ordi !

    J'ai seulement installé VC 2005 Express sans compléter par une intallation du SDK comme il semble être conseillé. C'est un peu rebutant et je ne pensais ne pas en avoir besoin car à l'installe VC 2005 a créer un rep. SDK/lib. Mais avec un seul fichier ! ?

    Dois-je installer ce fameux "Platform SDK" ?

    Vephil

  6. #6
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Je connais pas cette lib non plus. Y'a ça aussi:
    http://support.intel.com/support/performancetools/c/windows/sb/CS-020442.htm
    apparement c'est Win2K3 seulement.
    Mais je m'apperçois qu'il y a eu une mise à jour du PSDK. Je sais pas quand elle a eu lieu. C'est peut être dedans...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    J'ai installé la plateforme SDK, il y a bien la lib concerné mais toujours la même erreur de linkage "unresolved external symbol ___security_cookie ".

    J'ai forcé la prise en compte de la lib "bufferoverflowU" en la spécifiant dans l'option "Import library". L'erreur de symbole non résolu d'origine disparaît mais c'est la lib qui me crée d'autres erreurs "unresolved external..." etc. C'est la chaine sans fin !

    Je suis complètement coincé et très ennuyé.

    Vephil

  8. #8
    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,
    question bete vc2005 est en version beta ,
    pourquoi ne pas utiliser la verion gratuite de VC2003 (voir post it en haut du forum) en attandant une version de production de VC 2005 ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Citation Envoyé par farscape
    salut,
    question bete vc2005 est en version beta ,
    pourquoi ne pas utiliser la verion gratuite de VC2003 (voir post it en haut du forum) en attandant une version de production de VC 2005 ?
    Pourquoi pas ! Est-ce qu'il y a un "environnement" de développement ou au moins de "build" ? Parce que je ne me vois pas contruire le projet en lignes de commandes...

    Merci Farscape.

    Vephil

  10. #10
    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,
    non tu es en ligne de commande uniquement ,
    mais avec les .mak tu devrais pouvoir t'en sortir ...

  11. #11
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Surtout que rappellons le, la version beta de VC++ 2005 expire dans quelques jours...

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    Surtout que rappellons le, la version beta de VC++ 2005 expire dans quelques jours...
    Bon, c'est la totale...


Discussions similaires

  1. Migration Access 2007 vers SQL Server 2005
    Par hannii dans le forum Access
    Réponses: 4
    Dernier message: 28/02/2007, 15h06
  2. Migration Webapp de VS 2002 -> VS 2005
    Par benji_dv dans le forum Visual Studio
    Réponses: 5
    Dernier message: 22/02/2007, 11h41
  3. migration vers adp et sql server 2005
    Par a29595 dans le forum Access
    Réponses: 5
    Dernier message: 25/01/2007, 19h27
  4. migration de oracle vers sql server 2005 - linked server
    Par aemag dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/10/2006, 15h31
  5. [Migration] Comment réussir VC6.0 >> Visual 2005
    Par ep31 dans le forum EDI/Outils
    Réponses: 6
    Dernier message: 06/07/2006, 17h21

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