이전에 만들어 둔 프로젝트를 리빌딩 하다가 발견한것.
* 기본적으로 C++에서 현재 C++ 표준 버전을 확인하는건 이미 예약된 __cplusplus 매크로로 가능한것으로 알려져있다.
하지만 뭐가 문제인건지, Visual Studio에서 C++를 사용시, 현재 버전을 몇으로 설정하던 무조건 199711 (=C++98)로만 나온다.
검색해보니, 이것에 대한 원인은 못찾았고, 대신 해결방안을 찾았다.
https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=vs-2019
/Zc:__cplusplus (Enable updated __cplusplus macro)
/Zc:__cplusplus (Enable updated __cplusplus macro) In this article --> The /Zc:__cplusplus compiler option enables the __cplusplus preprocessor macro to report an updated value for recent C++ language standards support. By default, Visual Studio always ret
docs.microsoft.com
해당 페이지에서처럼, /Zc:__cplusplus 명령어를 추가해주면, __cplusplus 매크로가 실제 버전에 맞게 잘 작동한다는 것이다.
자 그래서. 이걸 어디다 집어넣어야 하는가.
사용중인 Visual Studio가 한글버전이어서 살짝 헤멨는데, 이걸 검색해서 보는 분들은 조금이나마 덜 헤메시라고 남겨둔다.
1. 프로젝트 > 프로젝트 속성 클릭

2. 속성 > C/C++ > 명령줄 (=Commend Line)으로 이동.

3. 명령줄에 '/Zc:__cplusplus' 입력

4. 체크



언젠가 좀 써먹을일이 있을거같아 기록해둔다.
'프로그래밍 > C/C++' 카테고리의 다른 글
포인터 변수 사용시 데이터 오염 문제 (0) | 2020.11.28 |
---|---|
Const 키워드. (0) | 2020.08.18 |
오늘의 실수. (0) | 2020.03.29 |
기록 #1 (0) | 2020.01.18 |
Jsoncpp 라이브러리 사용 관련 (0) | 2020.01.01 |