Re: Link problem with gecko 1.9.2

philippe <[email protected]> Fri, 18 Nov 2011 04:03:51 -0800 (PST)
Newsgroups gmane.comp.mozilla.devel.embedding
Organization http://groups.google.com
Message-ID <14c47df9-4d4e-45c0-811e-93821c0e44d0@h31g2000pro.googlegroups.com>
On Nov 18, 12:26 pm, "[email protected]" <[email protected]> wrote:
> check your compiler flags. might be something similar to an issue I had
> a few months back ...
>
>
>
>
>
>
>
>
>
> >> Examining the contents of xpcomglue.lib (using dumpbin /symbols ) I get
> >> the following
>
> >> lInker: public: virtual unsigned int __thiscall
> >> nsCreateInstanceByContractID::operator()(struct nsID const &,void *
> > *)const
> >> lib: public: virtual unsigned int __fastcall
> >> nsCreateInstanceByContractID::operator()(struct nsID const &,void *
> > *)const
> >> The calling conventions are different for the 'missing' functions, they
> >> are all marked as __fastcall when the library is built but somehow have
> >> a different calling convention applied...
>
> >> once name mangling process is applied we get:
>
> >> ??RnsCreateInstanceByContractID@@UBEIABUnsID@@PAPAX@Z
> >> ??RnsCreateInstanceByContractID@@UBIIABUnsID@@PAPAX@Z
>
> >> The cause is simple. In xpcom\base\nscore.h we have:
>
> >> #elif defined(XP_WIN) && !defined(_WIN64)
> >> #define NS_FASTCALL __fastcall
> >> #define NS_CONSTRUCTOR_FASTCALL
> >> ...
>
> On 18/11/2011 10:25, philippe wrote:

I'm using visual 2008 on windows. I could link mozmfc.