Subject: Re: Removing non-CMake windows support (was Re: problems building under Windows)

Re: Removing non-CMake windows support (was Re: problems building under Windows)

From: Alexander Lamaison <>
Date: Fri, 1 Jan 2016 15:10:17 +0000

On 31 Dec 2015 14:51, "George Garner (online)"
<> wrote:
> The existing VS project files don't work out of the box. Only the debug build appear to have been tested. There is no 64-bit build. That having been said they were a convenient starting point and with 15 minutes of work I was able to get both 32 and 64-bit projects to build with the WinCNG, zlib and secure zero memory support. I did have to edit the source files in places, for example to enclose some include files with a carrot ('<') rather than double quotes ('"'), and to change the "#ifdef WIN32" to "#if defined (WIN32) || defined (WIN64)." However, on whole, the current VS project files were helpful as a starting point.

Did you try the CMake route? How did this compare?

> My main concern is the number of warnings. Many of the warnings appear to be benign warnings about the truncation of 64-bit to 32-bit data types. The warnings that concern me the most involve the signed/unsigned mismatches and what I consider the gratuitous use of signed data types. I would look at the code around each of these warnings and verify whether there is an arithmetic operation that could produce a negative number and no check for integer underflow.
> I have gone through the code and made a substantial number of edits, but then I will have to do it all over again with the next release. Silencing the warnings with appropriate edits to your code would show that you care.

The warnings are a known issue and exist because the integer types
used in the API are not 64-bit friendly. However, changing the ABI is
not something we can do lightly, it causes too much disruption on

There is a task on my to-do list to add a preprocessor option to
explicitly move to a new ABI, which could be used on windows and in
statically linked builds.


Received on 2016-01-01