코젤브

[Visual C++] C++ 버전 확인 방법 - __cplusplus 199711로만 나오는 문제 본문

컴공의 일상/C++

[Visual C++] C++ 버전 확인 방법 - __cplusplus 199711로만 나오는 문제

코딩하는 젤리 2024. 8. 13. 16:27

 

 

프로젝트를 진행하다보니 C++11 이상만 가능한 명령어가 있었는데,

프로젝트 속성에서 C++ 언어 표준을 설정해도 __cplusplus 로 확인하면 계속 199711로만 나오는 문제가 발생했다.

 

결론)

프로젝트 속성 > C/C++ > 명령줄 에서 추가 옵션으로 /Zc:__cplusplus 를 입력한다.

 

참고) 아래처럼 작성하면 확인할 수 있다. (출력 이전에도 코드에서 커서를 올리면 뜨긴 한다)

std::cout << "__cplusplus value: " << __cplusplus << std::endl;

 

 

 

찾아보니 아래 블로그에서 나와 같은 현상을 겪는 사람이 있었고, 이유는 모르지만.. 덕분에 해결했다!

기억할 겸 글을 남긴다.

 

 

https://locketgoma.tistory.com/16

 

Visual C++에서 C++ 버전확인하는 방법.

이전에 만들어 둔 프로젝트를 리빌딩 하다가 발견한것. * 기본적으로 C++에서 현재 C++ 표준 버전을 확인하는건 이미 예약된 __cplusplus 매크로로 가능한것으로 알려져있다. 하지만 뭐가 문제인건지

locketgoma.tistory.com

 

 

https://learn.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-170&viewFallbackFrom=vs-2019

 

/Zc:__cplusplus (Enable updated __cplusplus macro)

Learn more about: /Zc:__cplusplus (Enable updated __cplusplus macro)

learn.microsoft.com