Wireshark mailing list archives

Re: MSVC 2015 (VC14) notes/issue


From: Pascal Quantin <pascal.quantin () gmail com>
Date: Sun, 30 Aug 2015 08:05:58 +0200

Hi all,

2015-08-12 18:57 GMT+02:00 Pascal Quantin <pascal.quantin () gmail com>:

Hi,
Le 12 août 2015 6:21 PM, "Bill Meier" <wmeier () newsguy com> a écrit :

[Resend]

I see that several people (Anders, ...) been building with MSVC-2015
(VC14) and have fixed a number of issues.

So: I decided to download VC14 and give it a try (using NMake).

A few questions:

Are you using CMake or NMake ?

If using NMake, I assume that you've updated config.nmake & etc. Is
there some reason you've not committed the changes ?

If not, I've made what I think are the required changes for NMake. Do
you think it's Ok to commit them ?



Have you been able to do a complete build ?

So far:

1. Compiling packet-pdc.c gets:

[...]\packet-pdc.c(205) : fatal error C1001: An internal error has
occurred in the compiler.
(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 246)
 To work around this problem, try simplifying or changing the program
near the locations listed above.
Please choose the Technical Support command on the Visual C++
 Help menu, or open the Technical Support help file for more information

INTERNAL COMPILER ERROR in 'C:\Program Files\Microsoft Visual Studio
14.0\VC\BIN\cl.exe'
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more
information

I've figured out what to change to fix this.
(I've also extracted a much smaller test file which causes the error and
will submit the file to Microsoft).



2. I had to disable building with geoip because:

C:\Program Files\Windows
Kits\10\include\10.0.10150.0\ucrt\stdio.h(1925): warning C4005: 'snprintf':
macro redefinition (compiling source file packet-
ip.c)
[...]\GeoIP-1.5.1-2-win32ws\include\GeoIP.h(36): note: see previous
definition of 'snprintf' (compili
ng source file packet-ip.c)
C:\Program Files\Windows
Kits\10\include\10.0.10150.0\ucrt\stdio.h(1927): fatal error C1189:
#error:  Macro definition of snprintf conflicts with Stan
dard Library function declaration (compiling source file packet-ip.c)


3. I disabled building with LUA because there's apparently yet no LUA
library (dll) for use with VC14.

I might have a look at it when coming back from vacation if the packager I
used last time did not update the library (I have no reliable Internet
access right now, yes this is still possible nowadays :)). But I was not in
a hurry as there is no Qt package compiled with MSVC2015 yet, so we still
have a strong dependency on MSVC2013.


I have now uploaded Lua libraries compiled with MSVC2015. Could one of you
having this compiler give a try to
https://code.wireshark.org/review/#/c/10313/ ?

Thanks,
Pascal.

libraries compiled with MSVC =>

After addressing #1, #2 & #3 above (as well as an issue in
packet-lwres.c), I got a complete working build (based upon a quick test).


4. When compiling with code-analysis enabled, I'm getting a boatload of
the following warning message:

c:\program files\windows kits\10\include\10.0.10150.0
\ucrt\string.h(130) : warning C28252: Inconsistent annotation for
'strcpy': _Param_(1) has 'SAL_w
ritableTo(elementCount(_String_length_(__formal(1,parameter1))+1))' on
the prior instance. See <no file>(0).


This makes using "analysis" with vc14 kind of difficult.


Bill

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

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

Current thread: