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] Editcap link warnings

From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Wed, 6 Mar 2013 08:33:24 +0100
2013/3/6 Christopher Maynard <Christopher.Maynard@xxxxxxxxx>
Bill Meier <wmeier@...> writes:

> Recent Windows 7 and Windows XP Buildbot builds have been giving
> "locally defined symbol ... imported in ..."  warnings while linking
> editcap:
>
> (I get the same warnings on my system).

Me too.  Not sure if this is the right way to fix it, but this seems to work:

Index: Makefile.nmake
===================================================================
--- Makefile.nmake      (revision 48128)
+++ Makefile.nmake      (working copy)
@@ -327,7 +327,7 @@
 #      (e.g. epan\plugins.obj) must be built first using epan\Makefile.nmake
(which happens for 'nmake ... all').
 # Linking with setargv.obj enables "wildcard expansion" of command-line arguments
 capinfos.obj   :
-       $(CC) $(CFLAGS) -Fd.\ -c capinfos.c
+       $(CC) $(CFLAGS) -DWS_BUILD_DLL -Fd.\ -c capinfos.c
 capinfos.exe   : $(LIBS_CHECK) config.h $(capinfos_OBJECTS)
wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\capinfos.res
        @echo Linking $@
        $(LINK) @<<
@@ -340,7 +340,7 @@
 # XXX: This makefile does not properly handle doing a 'nmake ... editcap.exe'
directly since some of the .objs
 #      (e.g. epan\plugins.obj) must be built first using epan\Makefile.nmake
(which happens for 'nmake ... all').
 editcap.obj    :
-       $(CC) $(CFLAGS) -Fd.\ -c editcap.c
+       $(CC) $(CFLAGS) -DWS_BUILD_DLL -Fd.\ -c editcap.c
 editcap.exe    : $(LIBS_CHECK) config.h $(editcap_OBJECTS) wsutil\libwsutil.lib
wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
        @echo Linking $@
        $(LINK) @<<

Hi all,

I added this workaround a few days ago in r48021 but Gerald reverted it in r48072 as it was breaking getopt(). So we have to figure out how to solve this properly.

Regards,
Pascal.