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:


_______________________________________________
dev-embedding mailing list
dev-embedding@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-embedding

Reply via email to