Visual Studio 2017에서 google test 프로젝트 빌드 오류

구글 테스트(google test)를 사용하려면 소스 코드에서 바이너리 파일을 만들어야 하며 Visual Studio로는 이 스크립트로 간편하게 할 수 있다. 그런데 Visual Studio 2017에서 구글 테스트로 작성한 테스트 프로젝트의 C++ 표준 지원 스위치를 /std:c++latest로 설정하고 빌드하면 tr1std 멤버가 아니라며 무수한 오류를 표시한다. C++17에 포함한 기능이 필요하지 않으면 /std:c++14로 바꾸고 넘어갈 수도 있지만 테스트 프레임워크 때문에 언어를 제약한다는 건 그야말로 주객전도.

이와 관련있는 내용은 다음과 같다.

위 두 이슈 내용을 보면 이를 수정했다는 풀 리퀘스트가 지난해 6월에 있었지만 프로젝트 내부 사정으로 아직 반영을 못하고 있다는 걸 알 수 있다. 새로 빌드해야 하나 싶어 보니 변경 내용이 좀 많다.

이 수정 내용은 반영한 버전이 나오면 가져다 쓰기로 하고, 우선은 구글 테스트 라이브러리를 새로 빌드하는 일도 없이 간단히 해결할 수 있는 방법이 있다. 구글 테스트로 작성한 테스트 프로젝트 속성 정보의 전처리기 정의(preprocessor definitions)에 다음을 추가하면 된다.

 

Notes:
1. 현재 최신 버전인 1.8에서 발생한다.
현재 최신 버전인 1.8에서 발생한다.

You may also like...