I've got an error trying to compile my curve compression program, error no C4996, function call with parameters may be unsafe. It's telling me to use the above. The error is coming from xutility header file, which I've never laid eyes on before. is this a flag I have to input into a console? There is literally no reference to it online...
_CRT_SECURE_NO_WARNINGS means you don't want the compiler to suggest the secure versions of the library functions, e.g. scanf_s when you use scanf .
To disable a set of warnings for a given piece of code, you have to start with a “push” pre-processor instruction, then with a disabling instruction for each of the warning you want to suppress, and finish with a “pop” pre-processor instruction.
-D is a command line compiler flag which causes the rest of the text to be treated as if there was a #define in your code.
In solution explorer, right click the project, select "properties". The project property page will open. Expand the ">C/C++" entry in the tree on the left and select "Preprocessor" under that. The top entry in the right pane should be "Preprocessor Definitions". In that edit box, add _SCL_SECURE_NO_WARNINGS, separating it from the other entries with a ;
I'd like to also add that if you want to use
#define _SCL_SECURE_NO_WARNINGS
directly in your code, you have to place it before including headers. Or you can use
#pragma warning(disable:4996)
-D
means "define a macro", in this case _SCL_SECURE_NO_WARNINGS
. Which mean somewhere in the code there's a
#if defined(_SCL_SECURE_NO_WARNINGS)
line. If you want to do this from inside VS, go to the project's properties page, and under one fo the tabs there should be a spot to add new defines. There should already be some listed (like DEBUG
). Add _SCL_SECURE_NO_WARNINGS
there.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With