Mark wrote:

> undefined reference to `nsAString::~nsAString()'
> 
> Except if I add:
> 
> MOZILLA_INTERNAL_API = 1

You are including a string header which is not usable from the frozen API.
That could be nsAString.h or some similar header. You should replace that
with using the frozen string API, by including nsStringAPI.h instead.

> To my make file. Is there any way to avoid this? What are the
> implications of defining that symbol?

Using the internal API means that your component depends on nonfrozen
symbols in (xpcom_core.dll) that may not (will not!) be present in future
versions. Your component could fail to load or worse cause crashes in future
versions of the browser.

Setting MOZILLA_INTERNAL_API works on the 1.8 and 1.8.1 branches (Firefox
1.5 and 2), but it will *not* work for Firefox 3, because we are not
exposing the internal API via DLL exports.

see http://developer.mozilla.org/en/docs/XPCOM_Glue for some more details.

--BDS
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom

Reply via email to