# gTest compile errors

**URL:** https://discourse.itk.org/t/gtest-compile-errors/499
**Category:** Engineering
**Created:** [December 11, 2017, 2:09pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499 "2017-12-11T14:09:33Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)
#### Post date: [December 11, 2017, 2:09pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/1 "2017-12-11T14:09:33Z")

</div>

With the most recent Visual Studio 2017 updates (version 15.5.1, and maybe one or two back), `gtest` and `gtest_main` fail to compile (error and warning messages bellow). @blowekamp Does ITK’s copy of GoogleTest need to be updated?

```
1>------ Build started: Project: gtest, Configuration: Debug x64 ------
1>gtest-all.cc
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(996): error C2220: warning treated as error - no 'object' file generated
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(996): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(997): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(998): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(999): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(1000): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(600): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(605): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(610): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(615): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(620): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(625): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(632): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(639): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(646): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(653): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(661): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(878): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(878): note: see reference to class template instantiation 'testing::internal::TuplePolicy<TupleT>::tuple_element<I>' being compiled
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(886): note: see reference to class template instantiation 'testing::internal::TuplePolicy<TupleT>' being compiled
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(882): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(875): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(961): note: see reference to class template instantiation 'testing::internal::TuplePolicy<Tuple>' being compiled
1> with
1> [
1> Tuple=std::tuple<>
1> ]
1>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(601): note: see reference to function template instantiation 'void testing::internal::PrintTupleTo<std::tuple<>>(const T &,std::ostream *)' being compiled
1> with
1> [
1> T=std::tuple<>
1> ]
1>Done building project "gtest.vcxproj" -- FAILED.
2>------ Build started: Project: gtest_main, Configuration: Debug x64 ------
2>gtest_main.cc
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(996): error C2220: warning treated as error - no 'object' file generated
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(996): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(997): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(998): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(999): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/internal/gtest-port.h(1000): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(600): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(605): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(610): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(615): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(620): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(625): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(632): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(639): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(646): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(653): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(661): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(878): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(878): note: see reference to class template instantiation 'testing::internal::TuplePolicy<TupleT>::tuple_element<I>' being compiled
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(886): note: see reference to class template instantiation 'testing::internal::TuplePolicy<TupleT>' being compiled
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(882): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(875): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\include\tuple(1137): note: see declaration of 'std::tr1'
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(961): note: see reference to class template instantiation 'testing::internal::TuplePolicy<Tuple>' being compiled
2> with
2> [
2> Tuple=std::tuple<>
2> ]
2>C:\Dev\ITK-git\Modules\ThirdParty\GoogleTest\src\itkgoogletest\googletest\include\gtest/gtest-printers.h(601): note: see reference to function template instantiation 'void testing::internal::PrintTupleTo<std::tuple<>>(const T &,std::ostream *)' being compiled
2> with
2> [
2> T=std::tuple<>
2> ]
2>Done building project "gtest_main.vcxproj" -- FAILED.
========== Build: 0 succeeded, 2 failed, 1 up-to-date, 0 skipped ==========
```

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [December 11, 2017, 2:39pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/2 "2017-12-11T14:39:13Z")

</div>

Looks like some recent changes should address this:  
[https://github.com/google/googletest/pull/1218](https://github.com/google/googletest/pull/1218)

GTest does not do frequent releases, so we will likely have to go with the master branch and hope it’s bug free for our purpose.

---

<div class="post-metadata">

### Author: ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)
#### Post date: [December 11, 2017, 3:40pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/3 "2017-12-11T15:40:50Z")

</div>

Using master version of GTest is better than having build failures 😃

Can you create a patch for it @blowekamp?

---

<div class="post-metadata">

### Author: ![seanm](https://discourse.itk.org/letter_avatar_proxy/v4/letter/s/a88e4f/32.png) [@seanm](https://discourse.itk.org/u/seanm)
#### Post date: [December 11, 2017, 3:49pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/4 "2017-12-11T15:49:01Z")

</div>

If someone is going to update gtest, maybe you could take a look at this too:

[https://github.com/google/googletest/issues/1154](https://github.com/google/googletest/issues/1154)

(My impression is that the gtest project is moribund.)

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [December 11, 2017, 8:53pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/5 "2017-12-11T20:53:40Z")

</div>

I hope to get around to it tomorrow. I see a VS 2017 build on the dashboard is this issue expect to be shown there?

---

<div class="post-metadata">

### Author: ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)
#### Post date: [December 11, 2017, 9:03pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/6 "2017-12-11T21:03:28Z")

</div>

This started happening maybe a week or two ago (I keep my VS2017 up to date). I think that all dashboard machines were set up before then, and don’t include the update which broke GTest.

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [December 13, 2017, 2:08pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/7 "2017-12-13T14:08:29Z")

</div>

on it now

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [December 13, 2017, 3:11pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/8 "2017-12-13T15:11:57Z")

</div>

I ran into a merge conflict running “Modules/ThirdParty/GoogleTest/UpdateFromUpstream.sh”. Reading through the scripts to find out how best to resolve… pointers could expedite the processes.

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [December 13, 2017, 3:20pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/9 "2017-12-13T15:20:41Z")

</div>

For the third party scripts, is appear I just needed to to resolve the merge and the do a “git commit”.

Here is the pull request:  
[http://review.source.kitware.com/#/c/22901/](http://review.source.kitware.com/#/c/22901/)

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [December 19, 2017, 6:39pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/10 "2017-12-19T18:39:36Z")

</div>

@dzenanz I have just updated my VS 2017, and did a fresh build of ITK. I am still getting the same warning, which is treated as an error. I was able to define "\_SILENCE\_TR1\_NAMESPACE\_DEPRECATION\_WARNING " and ITK compilation was successful.

Can you please verify that the current ITK master is working for you and VS2017?

---

<div class="post-metadata">

### Author: ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)
#### Post date: [December 19, 2017, 6:44pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/11 "2017-12-19T18:44:13Z")

</div>

I just pulled master and started a build in VS2017. I will let you know about the result.

---

<div class="post-metadata">

### Author: ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)
#### Post date: [December 19, 2017, 8:12pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/12 "2017-12-19T20:12:18Z")

</div>

It still compiles without errors. I only got 4 warnings of the kind `LNK4221	This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library` in project _hdf5-static_.

`========== Build: 224 succeeded, 0 failed, 364 up-to-date, 9 skipped ==========`

Microsoft Visual Studio Community 2017  
Version 15.5.2  
VisualStudio.15.Release/15.5.2+27130.2010  
Microsoft .NET Framework  
Version 4.7.02053

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [December 20, 2017, 1:19pm UTC](https://discourse.itk.org/t/gtest-compile-errors/499/13 "2017-12-20T13:19:56Z")

</div>

Ah, I was on the v4.13rc2 tag, compile on master is OK for me too.
