Yvan Altmann wrote:
jml wrote:


After I successfully use the gecko-sdk to embed mozilla into windows,
now I began trying to embed it into linux. Is there also any SDK for
Linux? I can't find one.

I don't know what's in the Windows sdk - I'm embedding Mozilla using Debian's mozilla-dev package.

I downloaded the source rpm (1.2.1) from mozilla, and successfully compiled it. It created a directory named sdk.

Now I am having trouble compile my program, I am using command as:
g++ -DXPCOM_GLUE -DMOZILLA_STRICT_API -I... -L... -lxpcomglue -lxpcom MyFiles.cpp testmain.cpp

I always get something as:
undefined reference ot `nsEmbedString::nsEmbedString[in-charge](unsigned short const*)

I tried both -lxpcomglue and -lxpcomglue_s, either work. (BTW, what is the difference of this two?)

Not a Linux expert and have little experience with gcc, so can't figure out.


Another question is: I remember I read from somewhere saying about the
gcc generate incompatible vtble, is there any more detail description of
this?

I'm using gcc without problem, with "-fno-rtti -fno-exceptions"

Since I want to call a XPCOM interface method only by:
1. the XPCOM object's pointer
2. the index of the method being called.

So I need a method as:
callVtblMethod(int pointer, int fnNumber, int arg0, int arg1, ....)

In Windows, the vtbl layout is welldefined, same as COM/OLE. That is, "pointer" will point to an address contain a pointer to the method table. So I can manage to implement this method. For gcc, I don't know what the layout will look like, and don't know how can I implement it.



Thanks

jml

Be reading you,
 YA
Thanks
jml


Reply via email to