Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update to newest VS2017 Release 15.5 #47

Merged
merged 3 commits into from
Dec 8, 2017
Merged

Conversation

GreyMerlin
Copy link
Contributor

Three small commits to update to the newest VS2017 15.5 Release (November 2017)

  • VS2017 - 15.5.0 kludge for GTest UnitTests
  • Fix Boost's checking for new VS2017 Version 15.5.0
  • VS2017 15.5.0 updated version in .sln file

VS2017 - 15.5.0 kludge for GTest UnitTests

  • Using the latest (and just released) version 15.5.0 of VS2017 introduces the following error (about 2400 times !) into the UnitTests project ...

"error 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. "

Fix Boost's checking for new VS2017 Version 15.5.0

  • Update 5 (dated Oct 2017) changes _MSC_VER to 1912.
    See... https://blogs.msdn.microsoft.com/vcblog/2017/11/15/msvc-conformance-improvements-in-visual-studio-2017-version-15-5/

  • This causes lots of compilation messages (neither Errors nor Warnings) with the text Unknown compiler version - please run the configure tests and report the results. I have not reported this new issue to Boost.org (they will eventually catch up without my help)

  • This tiny patch will prevent those compilation messages until a newer version of Boost becomes available and WinMerge chooses to adopt it.

  • Since this has been a hard message to find twice now (previously with VS2017 15.3.0), I have added a new filter Boost to the Solution Explorer, containing a very small selection of boost configuration
    files. Boost itself is too large to include either completely, or even the reasonably small subset of boost files that WinMerge uses.

  • Mimic changes also for VS2015 to add the Boost filter to the Solution Explorer, even though this problem will never occur with VS2015

VS2017 15.5.0 updated version in .sln file

  • A simple auto-update of the WinMerge.vs2017.sln file

 * Using the latest (and just released) version 15.5.0 of VS2017
introduces the following error into the UnitTests project ...

"error 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. "

* MSDN claims that this is a C++17 language standards issue, but I was
not able to solve this problem by specifying the use of the C++14
standard language (the Properties control for this is likewise a new
feature of version 15.5.0) See...
https://docs.microsoft.com/en-us/cpp/cpp-conformance-improvements-2017

* The only simple, short-term solution that I could come up with was to
simply follow the suggestion of defining the _SILENCE_TR1_xxx token as
given above.

* Even though this problem has been discussed in the GoogleTest github
forum since at least 6 June, the underlying problem remains un-resolved
at this hour ...
	See google/googletest#1111
	See google/googletest#1320
	See google/googletest#1311

* I will assume that Google's resolution of this problem will require
WinMerge to adopt the newest GoogleTest framework (which is likely a
good idea anyway).  I will keep an eye on their progress and resolution
and advise accordingly.  In the meantime, this kludge allows WinMerge's
UnitTests project to compile and execute correctly.
* Update 5 (dated Oct 2017) changes _MSC_VER to 1912.  See
https://blogs.msdn.microsoft.com/vcblog/2017/11/15/msvc-conformance-improvements-in-visual-studio-2017-version-15-5/

* This cause lots of compilation messages (neither Errors nor Warnings)
with the text "Unknown compiler version - please run the configure
tests and report the results".  I have *not* reported this new issue to
Boost.org (they will eventually catchup without my help)

* This tiny patch will prevent those compilation messages until a newer
version of Boost becomes available and WinMerge chooses to adopt it.

* Since this has been a hard message to find twice now (previously with
VS2017 15.3.0), I have added a new filter Boost to the Solution
Explorer, containing a very small selection of boost configuration
files.  Boost itself is too large to include either completely, or even
the reasonably small subset of boost files that WinMerge uses.

* Mimic changes also for VS2015 to add the Boost filter to the Solution
Explorer, even though this problem will never occur with VS2015
@GreyMerlin
Copy link
Contributor Author

Just an FYI ... VS2017 version 15.5.1 was released today (8 Dec). These three commits remain relevant, i.e. nothing in this new VS2017 changed anything related to these issues.

@sdottaka sdottaka merged commit 3a0e830 into WinMerge:master Dec 8, 2017
@sdottaka
Copy link
Member

sdottaka commented Dec 8, 2017

Thank you!

sdottaka added a commit that referenced this pull request Jun 11, 2019
Add VisualElementsManifest for Windows 10 start menu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants