Visual Studio 2013 ne pas ignorer les avertissements désactivé
Bon matin à tous. Donc, je suis d'essayer de désactiver l'Avertissement 4996 dans nos projets c++. Il semble être inclus dans la ligne de commande comme indiqué ci-dessous, mais lors de la compilation, encore apparaît avec le C4966 Avertissement. J'ai essayé de changer le niveau d'alerte à 3, ou à l'aide de /w44996, mais n'ont ni travaillé. Personne ne sait à quoi cela peut-il être?
/Yu"stdafx.h" /GS- /W4 /wd"4100" /wd"4121" /wd"4201" /wd"4214" /wd"4244" /wd"4996" /Zc:wchar_t /I"C:\Program Files (x86)\MSBuild\..\Common Files\Microsoft Shared\MSEnv" /I"C:\Program Files (x86)\MSBuild\..\Common Files\Designer" /I"D:\Workspaces\MST_Sustaining_Second\Inc" /I"D:\Workspaces\MST_Sustaining_Second\Develop\Shared\Include" /Zi /Gm /Od /Fd"D:\Workspaces\MST_Sustaining_Second\Develop\IDE\GrACE\Debug\vc120.pdb" /fp:precise /D "_USRDLL" /D "ACE_DLL" /D "IQEDITOR_ENABLED" /D "_WINDOWS" /D "_DEBUG" /D "NTDDI_VERSION=NTDDI_WIN7" /D "_WIN32_WINNT=0x0601" /D "WINVER=0x0601" /D "_AFXDLL" /D "WIN32" /D "_SECURE_SCL=0" /D "_WINDLL" /D "_MBCS" /errorReport:prompt /GF- /WX- /Zc:forScope /RTC1 /Gd /Oi /MDd /Fa"D:\Workspaces\MST_Sustaining_Second\Develop\IDE\GrACE\Debug\" /EHs /nologo /Fo"D:\Workspaces\MST_Sustaining_Second\Develop\IDE\GrACE\Debug\" /Fp"D:\Workspaces\MST_Sustaining_Second\Develop\IDE\GrACE\Debug\ace.pch"
EDIT: Faute de frappe dans la description. Je veux Avertissement 4996, pas 4966. 4996 est dans la ligne de commande as /wd"4996"
Pour Avertissement:
warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is deprecated and may be removed in a future version of MFC.
OriginalL'auteur Zack Stewart | 2014-06-16
Vous devez vous connecter pour publier un commentaire.
Il ressemble
#pragma warning(disable: 4996)
ne désactivera pas les MBCS warning de dépréciation en raison de la#pragma warning(1: 4996)
avant la_declspec(deprecated)
ligne dans afx.hPour des raisons obscures, vous devez utiliser
#define NO_WARN_MBCS_MFC_DEPRECATION
pour désactiver cette place.voir afx.h lignes 28-33
liaison navigable à Pat Brenner blog re: ce problème
OriginalL'auteur giles
Pour Pat Brenner (Bibliothèques Visual C++ Équipe de Développement) a mentionné dans son blog ,
Puis le faire.
Aller à Propriétés du Projet-> C\C++ ->Préprocesseur->Définition de Préprocesseur et ajouter
NO_WARN_MBCS_MFC_DEPRECATION
OriginalL'auteur Elshan
J'ai eu un problème similaire mais il était sur certaines fonctions de
io.h
etstring.h
telles que:source.cxx(713) : warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details.
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string.h(215) : see declaration of 'stricmp'
source.cxx(2416) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string.h(207) : see declaration of 'strdup'
source.cxx(2249) : warning C4996: 'isatty': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _isatty. See online help for det
ails.
En raison de la nécessité d'avoir exactement le même code exécuté être construit sur d'autres plates-formes, j'ai dû trouver une solution sans tripoter beaucoup dans le code comme cela s'est produit à travers tout le projet dans un lot de fichiers.
La solution était d'ajouter ce compilateur drapeau
_CRT_NONSTDC_NO_DEPRECATE
. Cela peut être fait de deux façons:-D_CRT_NONSTDC_NO_DEPRECATE
si vous utilisez lecl
commande directementVisual Studio GUI
si vous l'utilisez pendant le processus de construction. Ajouter_CRT_NONSTDC_NO_DEPRECATE
dans Propriétés de Projet > C\C++ > Préprocesseur > Définition de PréprocesseurOriginalL'auteur Ayman Salah