У меня есть ошибка при попытке скомпилировать мою программу сжатия кривых, ошибка C4996, вызов функции с параметрами может быть небезопасным. Это говорит мне использовать выше. Ошибка возникает из файла заголовка xutility, о котором я никогда не видел. это флаг, который я должен вводить в консоль? В нем нет ссылки на него онлайн...
Что означает "использование -D_SCL_SECURE_NO_WARNINGS"?
Ответ 1
-D - это флаг компилятора командной строки, который заставляет остальную часть текста обрабатываться так, как если бы в вашем коде было #define.
В проводнике решений щелкните правой кнопкой мыши проект, выберите "свойства". Откроется страница свойств проекта. Разверните запись " > C/С++" в дереве слева и выберите "Препроцессор" под этим. Верхняя запись в правой панели должна быть "Определения препроцессора". В этом окне редактирования добавьте _SCL_SECURE_NO_WARNINGS, отделив его от других записей с помощью;;
Ответ 2
Я хотел бы также добавить, что если вы хотите использовать
#define _SCL_SECURE_NO_WARNINGS
непосредственно в вашем коде, вы должны разместить его перед включением заголовков. Или вы можете использовать
#pragma warning(disable:4996)
Ответ 3
-D
означает "определить макрос", в данном случае _SCL_SECURE_NO_WARNINGS
. Что означает где-то в коде есть
#if defined(_SCL_SECURE_NO_WARNINGS)
линии. Если вы хотите сделать это изнутри VS, перейдите на страницу свойств проекта и под одним из вкладок должно быть место для добавления новых определений. Там уже должны быть некоторые из них (например, DEBUG
). Добавьте туда _SCL_SECURE_NO_WARNINGS
.