You should not have to do this. Something is wrong with the CLASS version of the macro. Let me know if you get stuck. -Steve
> -----Original Message----- > From: Alan Conway [mailto:[email protected]] > Sent: Monday, February 20, 2012 10:25 AM > To: [email protected] > Cc: Steve Huston > Subject: Re: C++: Windows EXTERN question > > On Mon, 2012-02-20 at 10:07 -0500, Alan Conway wrote: > > Question: in SequenceNumber.h we have: > > > > class QPID_COMMON_CLASS_EXTERN SequenceNumber : public ... > > { > > ... > > int32_t value; > > > > void decode(Buffer& buffer); > > ... > > }; > > > > But I'm getting > > > > 76>QueueReplicator.obj : error LNK2019: unresolved external symbol > > "public: void __thiscall qpid::framing::SequenceNumber::decode(class > > qpid::framing::Buffer > > &)" > (?decode@SequenceNumber@framing@qpid@@QAEXAAVBuffer@23@@Z > ) > > referenced in function "class qpid::framing::SequenceNumber __cdecl > > qpid::ha::`anonymous namespace'::decodeContent<class > > qpid::framing::SequenceNumber>(class qpid::broker::Message &)" > > > (??$decodeContent@VSequenceNumber@framing@qpid@@@?A0x57ef80 > a8@ha@qpid@ > > @YA?AVSequenceNumber@framing@2@AAVMessage@broker@2@@Z) > > > > Does windows require individual EXTERN declarations on member > > functions even if there's a CLASS_EXTERN on the class? Or is there > > something else I'm missing? > > > > I noticed that SequenceSet.h has both class and method EXTERNs so I > followed that example in SequenceNumber.h > > > --------------------------------------------------------------------- > Apache Qpid - AMQP Messaging Implementation > Project: http://qpid.apache.org > Use/Interact: mailto:[email protected] --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
