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

C Discussion :

_CRT_SECURE_NO_WARNINGS positionné mais _CRT_SECURE_NO_DEPRECATE attendu. Que faire?


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Par défaut _CRT_SECURE_NO_WARNINGS positionné mais _CRT_SECURE_NO_DEPRECATE attendu. Que faire?
    Bonjour,

    Alors voilà j'ai le problème suivant : je travaille sur un projet commun (sous Visual Studio 2005 SP1) et au niveau des propriétés du projet, dans les définitions du préprocesseur est positionné le flag _CRT_SECURE_NO_WARNINGS. Si j'ai bien compris, ce flag est censé ignorer les warnings concernant l'utilisation des fonctions du type sprintf, strcpy, strcat, etc... Or sur mon poste (et pas sur celui de mes coopérateurs) il semblerait que le flag soit ignoré (ou non reconnu) à la génération car j'obtiens des warnings tels :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    warning C4996: 'strcpy' was declared deprecated
    C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(73) : see declaration of 'strcpy'
    Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
     
    warning C4996: 'sprintf' was declared deprecated
    C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(345) : see declaration of 'sprintf'
    Message: 'This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
     
    warning C4996: 'strcat' was declared deprecated
    C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(78) : see declaration of 'strcat'
    Message: 'This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
    On me propose donc d'utilisez le flag _CRT_SECURE_NO_DEPRECATE et en effet cela marche. En faisant quelques recherches j'ai pu voir que _CRT_SECURE_NO_DEPRECATE équivaut à _CRT_SECURE_NO_WARNINGS mais serait "l'ancienne version".
    Or je ne peux pas me permettre d'utiliser le flag _CRT_SECURE_NO_DEPRECATE car ce serait alors une régression sur ce projet, d'autant plus que sur 6 personnes, je suis le seul à qui ce phénomène arrive. Pour compléter l'analyse, si sur un autre poste j'enlève le flag _CRT_SECURE_NO_WARNINGS, c'est bien celui-ci qui est proposé à la génération.

    Quelqu'un pourrait-il m'aiguiller, me donner une démarche à suivre (de paramétrage de mon visual studio ou autre) pour rendre mon poste de travail "conforme" ?

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    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 391
    Par défaut
    En théorie, les versions d'avant le SP1 attendent _CRT_SECURE_NO_DEPRECATE et celles à partir du SP1 attendent _CRT_SECURE_NO_WARNINGS.

    Es-tu sûr que le SP1 est correctement installé sur ta machine ?
    La façon qu'à visual de traiter le __declspec(deprecated()) me donne à pznser le contraire: La version SP1 n'affiche plus "was declared deprecated"...
    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.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Par défaut
    Es-tu sûr que le SP1 est correctement installé sur ta machine ?
    C'est la première question que je me suis posé mais si je regarde dans "A propos" je trouve dans produits installés :
    • Microsoft Visual C++ 2005
    • Microsoft Web Application Projects 2005
    • Microsoft Visual Studio 2005 Professionnal

    Y-a-t-il un autre moyen de vérifier si le SP1 est bien installé ?

    Me conseillerais-tu d'essayer de repasser le SP1 ?

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    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 391
    Par défaut
    Au boulot, j'ai ceci en plus:
    • Microsoft Visual Studio 2005 Team Suite - ENU Service Pack 1 (KB926601)

    Si tu n'as pas un truc du genre pour VS pro, c'est qu'effectivement il n'est pas installé. Dans ce cas, installe-le.

    Si tu l'as quand même, c'est que quelque chose est mal réglé ou a foiré. Là, je ne sais trop que te conseiller.
    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.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Par défaut
    Oups pardon le dernier point de ma liste n'est pas complet c'est en réalité :
    • Microsoft Visual Studio 2005 Professionnal - Français Service Pack 1 (KB926607)


    Donc malheureusement c'est que quelque chose est mal réglé ou a foiré. Sniff.
    Une autre idée ? Je désinstalle et réinstalle (le SP voir tout) ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Par défaut
    Bon la réinstallation du SP1 ne change rien.

    Personne ne saurait me dire si cela pourrait venir d'un paramétrage du Visual ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Par défaut
    J'ai trouvé la réponse à mon problème il y a quelques temps mais je n'avais pas pris le temps de venir la poster.

    Bon en testant composant pas composant la réinstallation, j'ai pu cibler que c'était mon framework 2.0 qui avait un soucis. Sans un 2.0 clean ça ne risquait pas de fonctionner correctement et c'est pourquoi Visual C++ me proposait l'ancien flag. J'avoue avoir été surpris car je n'avais eu aucun message d'erreur à l'installation initiale du produit.

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

Discussions similaires

  1. Les PC sont de plus en plus bruyants que faire
    Par plichtal dans le forum Ordinateurs
    Réponses: 260
    Dernier message: 23/12/2011, 12h28
  2. [2.5] Mais que faire de ces paramètres ?
    Par Pierre$ dans le forum BIRT
    Réponses: 6
    Dernier message: 06/10/2009, 10h16
  3. Réponses: 10
    Dernier message: 29/05/2007, 12h16
  4. Réponses: 7
    Dernier message: 06/02/2007, 11h33
  5. [maintenance][performance] Que faire comme maintenance ?
    Par woodwai dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 06/11/2003, 15h39

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