Das Kompilieren von MFC-Fensteranwendungen kann manchmal zu Kompilierungsfehlern führen, da bestimmte Funktionen oder Variablen veraltet sind. Ein solcher Fehler betrifft die unsichere Verwendung von strncpy. Um dieses Problem zu beheben, schlägt Visual Studio vor, die veraltete Funktion mithilfe von _CRT_SECURE_NO_WARNINGS zu deaktivieren.
Im Fall des gegebenen Projekts wird der Fehler durch Hinzufügen von _CRT_NONSTDC_NO_WARNINGS zum Abschnitt „Präprozessordefinitionen“ der Konfigurationseigenschaften des Projekts nicht behoben. Dies liegt daran, dass _CRT_NONSTDC_NO_WARNINGS eine falsche Anweisung ist.
Die richtige Lösung besteht darin, _CRT_SECURE_NO_WARNINGS zu den Präprozessordefinitionen hinzuzufügen. Dies kann durch Navigieren zu Konfigurationseigenschaften -> C/C -> Präprozessor -> Präprozessordefinitionen.
Es ist erwähnenswert, dass durch das Hinzufügen von _CRT_SECURE_NO_WARNINGS alle veralteten Warnungen deaktiviert werden, nicht nur diejenigen, die sich auf strncpy beziehen. Wenn Sie Verfallswarnungen nur für bestimmte Funktionen deaktivieren möchten, können Sie die Direktive _CRT_DEPRECATE_NO_WARNINGS gefolgt vom Namen der jeweiligen Funktion verwenden, für die Sie Warnungen unterdrücken möchten. Um beispielsweise Warnungen nur für strncpy zu deaktivieren, würden Sie Folgendes verwenden:
_CRT_DEPRECATE_NO_WARNINGS("strncpy")
Das obige ist der detaillierte Inhalt vonWie deaktiviert man veraltete Warnungen in MFC-Fensteranwendungen und warum funktioniert _CRT_NONSTDC_NO_WARNINGS nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!