Wireshark-dev: Re: [Wireshark-dev] Building with Visual Studio Professional 2013 ...

From: Bill Meier <wmeier@xxxxxxxxxxx>
Date: Tue, 29 Apr 2014 00:03:14 -0400
On 4/27/2014 6:16 PM, Richard Sharpe wrote:

Woohoo! It works!


With 1 caveat...   :)

I expect that probably trying to use Lua with Wireshark built with VS2013 will fail in some manner.

Currently, building with VS2013 (VC12) is configured to link with a Lua DLL which is linked with the VS2010 (VC10) msvcrt. I expect this will cause problems.

(Fpom config.nmake)

!IF "$(MSVC_VARIANT)" == "MSVC2012" ||  "$(MSVC_VARIANT)" == "MSVC2012EE"
LUA_DIST=-5.2.3_Win64_dll11
!ELSE
LUA_DIST=-5.2.3_Win64_dll10
!ENDIF
LUA_DIR=$(WIRESHARK_LIB_DIR)\lua5.2.3



Pascal recently did the work to use the correct Lua DLL with VS2012 (VC11) (..dll11). Hopefully there's a VS2013 version of the Lua DLL which can be used when building with VS2013 (VC12)




Bill

P.S.

As part of the process of doing a first Wireshark build with VC2013, I somehow managed to link with the VS2012 Lua DLL even though the config.nmake selects the VS2010 version. (I think this happened because I first built with VS2012 then did a 'clean' (without re-creating the win32 libraries) and then built with VS2013).


It took me a little while to realize what was going on.

I guess one has to be very careful when developing with multiple VS versions since what are effectively different DLL's (i.e. linked with different versions of msvcrt) will have the same name.

I wonder if there's a way to check at link time (or run-time) that the right version (linked with the right msvcrt) is being used ....