Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] report from the bleeding edge (VS 2017)

From: Anders Broman <anders.broman@xxxxxxxxxxxx>
Date: Tue, 13 Feb 2018 16:26:45 +0000

-----Original Message-----
From: Wireshark-dev [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Ed Beroset
Sent: den 9 februari 2018 17:52
To: wireshark-dev@xxxxxxxxxxxxx
Subject: [Wireshark-dev] report from the bleeding edge (VS 2017)

On 04/24/2017 01:01 PM, Graham Bloice wrote:

> Who knows what will be in the next Visual Studio.  I haven't seen any 
> announcements, but as VS 2017 was only released just over a month ago 
> I don't expect any public announcements yet.
> 
> It's possible that future C++ language changes may force them to 
> change the ABI.

I have been working through building an installer package on and for
Win64 on Windows 10 using VS 2017 and NSIS 3.03, so I thought I'd send this report from the bleeding edge.

Cylance vs. Cygwin
==================
"BLODA" is the Cygwin acronym for "Big List Of Dodgy Apps" and unfortunately, I have discovered another one, which is Cylance which is anti-malware software (despite both starting with "cy" they have no relationship).  For background on that, see https://cygwin.com/faq/faq.html#faq.using.bloda and https://cygwin.com/ml/cygwin/2017-04/msg00319.html

I have been able to work around this by getting my IT folks to whitelist the following cygwin executables:
xterm.exe
git.exe
perl.exe
python2.7.exe

That seems to have been sufficient (so far) to get Wireshark to compile (for building Wireshark, it's probably not necessary to have xterm.exe but I use xterm often and it annoyed me!). Although it's more of a Cygwin than a Wireshark issue, I mention it here in case anyone encounters this problem and does a search.

Specifying platform
===================
I used this command for CMake:

cmake -DENABLE_CHM_GUIDES=on -G "Visual Studio 15 2017 Win64" ..

I found that I had to explicitly specify the platform when using msbuild.  For example, to build a Release version on my machine:

msbuild /m /p:Configuration=Release /p:Platform=x64 Wireshark.sln

I don't yet know enough about msbuild or sln files to troubleshoot much further, but that worked for me.

Results
=======
I haven't yet done thorough testing, but the installer, Wireshark and Tshark all seem to be to working correctly.

Hope that helps.

Ed

For what it's worth I have been building and distributing for VS 2017 for almost a year on Win7
Cygwin and python set up as per developers guide from way back. 
I have the following batch script I run in my cmd window 
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.5.6
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

set CYGWIN=nodosfilewarning
set WIRESHARK_BASE_DIR=C:\Development
set QT5_BASE_DIR=C:\Qt\5.9.4\msvc2017_64
set WIRESHARK_TARGET_PLATFORM=win64
set PATH=path=%PATH%;C:\cygwin64\bin;C:\Program Files\CMake\bin;C:\Python27

Then
cmake -DENABLE_CHM_GUIDES=on -G "Visual Studio 15 Win64" ..\wireshark
and
msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln 2>&1 > log.txt

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe