정리

gtest VS2012에서 에러 - error C2977: 'std::tuple' : too many template arguments

저장소/VC++

좋은 정리 감사해서 긁어왔습니다.


원문 출처 : http://kbdyj.tistory.com/30



2010에서 GTEST를 쓰는 프로젝트를 2012로 옮겨와 빌드하니 에러가 발생.


error C2977: 'std::tuple' : too many template arguments 라는 내용인데 2012에서 아직 variadic template를 지원하지 않는다는게 원인인 것 같다.


이 방법을 해결하는 방법이 두가지 인데


첫째 옵션에서 C/C++>Preprocessor>Preprocessor Definitions에서

GTEST_HAS_TR1_TUPLE=0

을 주어 빌드하거나


두번째로 Configuration Properties>General>Platform Toolset을 Visual Studio 2010(v100)으로 맞춰놓고 빌드하는 것이다.


첫번째 방법으로 했다가 GTEST 자체를 2010으로 빌드한 것을 가져다 썼더니 링크에러가 나서 두번째 방법으로 해결하였다. (GTEST를 다시 빌드하기 귀찮아서)