Dans les versions précédentes de Visual Studio, l'utilisation de fonctions telles que _sleep ou strncpy générait simplement un avertissement. Dans la dernière version, c'est tout à coup une erreur:
erreur C4996: '_sleep': cette fonction ou cette variable a été remplacée par une bibliothèque plus récente ou une fonctionnalité du système d'exploitation plus récente. Pensez à utiliser Sleep à la place. Voir l'aide en ligne pour plus de détails.
Je sais que je peux le désactiver en ajoutant #pragma warning(disable: 4996)
au début du code, mais il est extrêmement ennuyeux que VS essaie de me forcer à utiliser d'autres fonctions. Est-il possible de désactiver ce comportement?
Avant que vous ne demandiez, "Traiter les avertissements comme des erreurs" est désactivé et même si je désactive tous les avertissements!
Apparemment, les nouveaux projets activent maintenant par défaut la "vérification SDK", qui traite ces avertissements comme des erreurs. Pour le désactiver, accédez à Propriétés du projet -> Propriétés de configuration -> C/C++ -> Général -> Contrôles SDL -> Non.
entrez au début du programme:
#pragma warning(disable : 4996)
et c'est tout.
Vous pouvez également désactiver des numéros d'avertissement spécifiques dans C/C++> Avancé> Désactiver des avertissements spécifiques.
Projet -> Propriétés nom_projet -> Propriétés de configuration -> C/C++ -> Préprocesseur -> Définitions du préprocesseur -> Éditer ... ajouter une ligne _CRT_SECURE_NO_WARNINGS
Compiler toutes les sources que j'ai référées:
la réponse de kmcnamee sur Comment utiliser l'utilisation de _CRT_SECURE_NO_WARNINGS
La vidéo qui a résolu mon problème. https://www.youtube.com/watch?v=qWxGZLjwKL
Apparemment, les vérifications SDL (Security Development Lifecycle) recommandent notamment d’activer des fonctionnalités supplémentaires de génération de code sécurisé et des avertissements supplémentaires relatifs à la sécurité en tant qu’erreurs.
Les étapes pour résoudre ce problème sont les suivantes:
1. Go to Project-> "your project name" Properties
2. Under Configuration Properties, go to C/C++
3. Under C/C++, go to Preprocessor
4. Select Preprocessor Definitions and click on Edit from the dropdown menu
5. In the blank space fill out _CRT_SECURE_NO_WARNINGS