Hello there,

I have a linking issue I am trying to wrap my head around, and some thoughts from a bright mind could do.

While linking to xulrunner I get linker errors on nsAString::BeginReading, and a dump of the symbols in the library providing thins function I see the following:

$ i686-mingw32-objdump -t xulrunner-sdk/lib/xpcomglue_s.lib | grep BeginReading
[ 86](sec 31)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 ?BeginReading@nsAString@@QBEIPAPBG0@Z
[ 91](sec 33)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 ?BeginReading@nsAString@@QBEPBGXZ
[ 38](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 ?BeginReading@nsAString@@QBEPBGXZ
[ 39](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 ?BeginReading@nsAString@@QBEPBGXZ

And the object defines the reference as following:

[364](sec  0)(fl 0x00)(ty  20)(scl   2) (nx 0) 0x00000000 __ZNK9nsAString12BeginReadingEv

Now the reference seems to me to be defined in the usual elf way of doing things, while the library MS PE format or whatever.
Could someone please explain why these cant link? And share some thoughts on what I need to do to link with this library.

The linker error I get:

plugin.os:plugin.cpp:(.text$_ZNK17nsString_external3getEv[nsString_external::get() const]+0xd): undefined reference to `nsAString::BeginReading() const'

Regards,
Patrick