Ice 3.6.1-1 and 3.6.1-2 for Windows
This page describes updates to the Ice 3.6.1 distribution for Windows.
On this page:
Ice 3.6.1-2 for Windows
This is a patched version of Ice 3.6.1 for Windows that addresses two backwards-compatibility bugs introduced in Visual Studio 2015 Update 1.
Source tag: v3.6.1-msvc2015
You need to upgrade to Ice 3.6.1-2 only if you develop in C++ with Visual Studio 2015 Update 1 (or later) on Windows.
Bug 1
Visual Studio 2015 Update 1 fails to compile code generated by the Slice to C++ compiler. See https://connect.microsoft.com/VisualStudio/feedback/details/2148128.
Fix: update the Slice to C++ compiler to generate code that Visual Studio 2015 Update 1 accepts, and update the generated C++ header files included in the Ice 3.6.1-2 distribution.
Bug 2
For some dll-exported classes, Visual Studio 2015 Update 1 exports and imports additional symbols compared to the original Visual Studio 2015, namely a move assignment operator. As a result, an application built with Visual Studio 2015 Update 1 may occasionally import symbols exported/imported by Update 1 and fail to find these symbols in libraries built with the original Visual Studio 2015.
Fix: build the Ice C++ libraries for Visual Studio 2015 with Visual Studio 2015 Update 1, not with the original Visual Studio 2015.
Ice 3.6.1-1 for Windows
This was our first attempt to patch Ice 3.6.1 to work with Visual Studio 2015 Update 1. It addressed Bug 1 described in Ice-3.6.1-2 above, but not Bug 2.
Source tag: v3.6.1-msvc2015