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] Do Windows compilers require WS_VAR_IMPORT in .h files

From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Fri, 28 Sep 2012 22:00:40 +0200
Hi Jörg,

2012/9/28 Joerg Mayer <jmayer@xxxxxxxxx>
Hello Pascal,

On Fri, Sep 28, 2012 at 05:25:41PM +0200, Pascal Quantin wrote:
> 2012/9/28 Joerg Mayer <jmayer@xxxxxxxxx>
> > I'm working on building wireshark with gcc with -fvisibility=hidden. This
> > will mostly mimic the behaviour already on Windows. The gcc attribute
> > to change the visibility causes errors when used in .h files (well, in
> > declarations without a  the object).
> > I have replaced WS_VAR_IMPORT with extern in .h files. Can someone on
> > Windows
> > please test whether this still works?
>
> it fails with the following errors (MSVC2010EE 32 bits):

Can you please apply the attached patch on top of the previous one to check
whether this fixed the compile problem in packet-dcom.c?
If it does, I will rework the whole patch in the same manner.

It does not work:
packet-dcom.c
packet-dcom.c(473) : error C2054: '(' attendu après 'WS_VAL_IMPORT'
packet-dcom.c(473) : error C2082: redéfinition du paramètre formel 'dcom_variant_type_vals'
packet-dcom.c(473) : error C2143: erreur de syntaxe : absence de ';' avant '='
packet-dcom.c(522) : error C2054: '(' attendu après 'WS_VAL_IMPORT'
packet-dcom.c(522) : error C2082: redéfinition du paramètre formel 'dcom_hresult_vals'
packet-dcom.c(522) : error C2143: erreur de syntaxe : absence de ';' avant '='
which would roughly translate as:
packet-dcom.c(473) : error C2054: '(' expected after 'WS_VAL_IMPORT'
packet-dcom.c(473) : error C2082: redefiniton of formal parameter 'dcom_variant_type_vals'
packet-dcom.c(473) : error C2143: syntax error: missing ';' before '='
packet-dcom.c(522) : error C2054: '(' expected after 'WS_VAL_IMPORT'
packet-dcom.c(522) : error C2082: redefinition of formal parameter 'dcom_hresult_vals'
packet-dcom.c(522) : error C2143: syntax error: missing ';' before '='

Regards,
Pascal.