본문 바로가기

C, C++, C#/Tip

Visual Studio 전처리

반응형

안녕하세요. 오늘은 Visual Studio 전처리 방법에 대한 포스팅입니다.


전처리에 대한 내용도 에러에 따라 조금씩 추가로 정리할 수 있도록 하겠습니다.


다들 보기 쉽도록 에러->추가해야할 전처리에 대해 가장 보기 쉽게 작성해 보겠습니다.



일단 전처리를 추가하는 방법에 대해 설명하겠습니다.



1) 솔루션 탐색기 -> 해당 프로젝트 -> 속성 클릭


2) 구성속성 -> C/C++ -> 전처리기 -> 전처리기 정의 우측 화살표 -> 편집 클릭

(※해당 처리에서 구성 속성 밑 항목이 없는 경우는 1) 수행에서 솔루션 속성을 선택했는지 확인 바랍니다.)


3)해당 리스트에서 추가할 전처리기 정의를 입력하고 확인을 클릭합니다.






아래는 에러와 추가해야할 전처리 정의를 설명하겠습니다. 


---------------------------------------------------------------------------------------------

------------------------------------------1번------------------------------------------------

 에러발생

error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'

 해결방안

해당 프로젝트의 속성에서 해당 명령을 전처리해주어야 해결됩니다.

전처리정의: _SCL_SECURE_NO_WARNINGS

-> 저의 경우는 동적으로 할당된 데이터를 STL Vector로 복사할 때 발생했습니다. 찾아보니 비쥬얼 스튜디오에서 동적으로 할당된 데이터를 처리하는데 에러 발생률이 높다고 판단하고 처리를 할 수 없게 막은것으로 보입니다.







---------------------------------------------------------------------------------------------

------------------------------------------2번------------------------------------------------

 에러발생

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

 해결방안

해당 프로젝트의 속성에서 해당 명령을 전처리해주어야 해결됩니다.

전처리정의: _CRT_SECURE_NO_WARNINGS

-> 저의 경우는 I/O를 사용하는데 비쥬얼 스튜디오에서 권장하지 않는 기존(오래된?) API를 사용하다보니 발생한 에러로 보입니다.









---------------------------------------------------------------------------------------------

------------------------------------------3번------------------------------------------------

 에러발생

-

 해결방안

-






반응형