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