Visual Studio 2017 이전 버전을 이용해 C 언어 개발을 하고빌드 및 실행 (Ctrl + F5) 을 해보면, 다음과 같은 에러 메시지를 종종 보게 됩니다.


error C4996: ‘localtime’: This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.


이 에러 메시지는, scanf strcpy, localtime 과 같은 보안적으로 안전하지 못한 함수들을 호출할 때 나타납니다.


(CRT 의 보안 기능 설명 참고)

https://msdn.microsoft.com/ko-kr/library/8ef0s5kh.aspx


이 에러 메시지를 해결 하는 방법은 2 가지 방법이 있습니다.


-> 불안전한 함수 대신 MS 에서 권장하는 안전한 함수를 사용 

   (strcpy -> strcpy_s, scanf -> scanf_s, localtime -> localtime_s)


-> _CRT_SECURE_NO_WARNINGS 매크로 정의 후 불안전한 함수를 사용하도록 허락


첫 번째로 개발하는 것이 권장되지만간단히 개발하고자 하는 분들은 두 번째 방법을 선호할 것입니다따라서, 2) 번의 방법으로 매크로를 정의하여 기존처럼 불안전한 함수들을 사용할 수 있는 방법을 알려드리겠습니다.



좌측의 Solution Explorer 에서현재 프로젝트를 우 클릭하여, Properties 를 클릭합니다.



나타난 팝업에서Configuration Properties -> C/C++ -> Preprocessor 를 클릭합니다.



Preprocessor Definitions 항목에서 가장 우측에 ;_CRT_SECURE_NO_WARNINGS 를 추가하고, 확인을 클릭합니다.


참고로, Debug 모드와 Release 모드 각각 이 작업을 해주어야 합니다(Release 모드를 사용하는 분에 한해서)

'8.2) IDE > VISUAL STUDIO' 카테고리의 다른 글

Visual Studio 단축키 모음  (0) 2017.10.18
Visual Studio 2017 Community 버전 설치하기  (0) 2017.10.18
by kkikkodev 2015. 4. 9. 11:38