Wireshark-dev: Re: [Wireshark-dev] Building latest Wireshark using VS2013
From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Sat, 24 Dec 2016 11:52:23 +0000


On 24 December 2016 at 10:31, Andreas <AndreasSander1@xxxxxxx> wrote:
>> If I"m not mistaken, version 12.0.21005 was the first MSVC 2013 version.
>> Since 5 updates were released and we have no issue compiling the Wireshark
>> code with MSVC 2013 Update 5. The download link can be found here:
>> https://www.microsoft.com/en-us/download/details.aspx?id=48129
>> Once upgraded, my bet is that no patch will be required.

The installation of VS2013 was very old, I must admit. I have installed
the "VS2013 Update 5" and the errors related to C source code are vanished.

So this was really a compiler bug. Sorry for the noise.

> -- The C compiler identification is MSVC 18.0.40629.0
> -- The CXX compiler identification is MSVC 18.0.40629.0
>
> The compiler version can also be seen by typing 'cl' at the command line
> (when you have VC on the path).
I get this version number now at the command line. Would this an idea to
add the current version to the WSDG?

It would just be one more thing to maintain and keep in step with the code and the buildbots.  As there is no "cost involved with moving to VS xxx "latest" (apart from any corporate restrictions), the sensible advice is just use the latest.  If someone can find a definitive list of these versions vs. VS Updates than that might be helpful.

My own view on the WSGD is that I'd prefer to keep it as simple as possible with as few toolchain variations as we can get away with, it's already complicated enough and folks still keep missing steps.
 


> There is no requirement to use a bitness of Cygwin that matches the
> Wireshark target platform, either 32 bit or 64 bit is fine.
Okay, I made another mistake. I missed Cygwin packages asciidoc and
docbook-xml45. That's my mistake, but this has not been detected in the
cmake phase.

That's an unfortunately all too common issue of failing to read the WSDG, and yes the CMake dependencies could be a bit better here.  Patches gratefully accepted.

So I got only 83 warnings no errors anymore:
- 81 times C4267: conversion from 'size_t' to 'int'
-  2 times C4244: conversion from '__int64' to 'int'

These could be avoided but don't affect the ability to build Wireshark
at all.


The only warnings you should be getting are those as seen on the x64 buildbot which are actually all pdf doc generation warnings.  The current master has no "code" build warnings on VS2013, and as the buildbots use the /Wx flag a warning would result in an error and a failed build.

--
Graham Bloice