Hi,

I'm just curious as to how nsACString::BeginReading() [1] is to be used from an XPCOM component using MOZILLA_STRICT_API building against trunk SDK. It's not inline, but it is NS_HIDDEN, so my component can't find it at run time. This of course causes it to fail to load... :)

Other non-inline methods such as nsAString::AssignLiteral [2] seems to behave identically.

This seems to be related to bug 340446 ... but I _am_ linking against xpcomglue_s. For reference, my link line is:


g++ -shared -o mimetex.so -lm -L/home/mook/mozilla/trunk/obj/Firefox/dist/sdk//lib/ -lxpcomglue_s -lxpcom -lplds4 -lpc4 -lnspr4 gifsave.obj mimetex.obj globals.obj wrapper.obj mtTeXRasterizer.obj module.obj


Building on Windows with MSVC doesn't do this; I assume it's because NS_HIDDEN doesn't do as much there? :)

[1] http://lxr.mozilla.org/mozilla/source/xpcom/glue/nsStringAPI.h#292
[2] http://lxr.mozilla.org/mozilla/source/xpcom/glue/nsStringAPI.h#126

P.S. Would it be possible to check that wchar_t is indeed two bytes long when HAVE_CPP_2BYTE_WCHAR_T is defined in xpcom-config.h? Ending up with my wchar_t compiled as four bytes each confused it somewhat...

--
Mook
mook dot moz plus stuff at gmail dot compound
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom

Reply via email to