Doug Turner wrote: > I will assume that your xpi file works correctly.
It puts the DLL in C:\Program Files\mozilla.org\Mozilla\components, which I believe is correct since it gets registered and shows the error dialogue box.
> What is your code linking against? Is your code using any of the > do_Get* functions? Just a guess, but do_GetService(CONTRACT_ID) boils > down into a class that isnt frozen or part of the GLUE library. So, if > you are only linking to the xpcom GLUE library and you are using these > do_Get functions, this link error woulf be expected.
do_GetService() was the right guess (yaay!) and resolved the previous
error. However, I now get another error dialogue:
"The procedure entry point [EMAIL PROTECTED]@@QAEXVnsQueryInterface@@ABUnsID@@@Z could not be located in the dynamic link library xpcom.dll."
> If you are linking against the copy of XPCOM library, you should have > this symbol resolved. Note that you might have to have different > versions of your extensions for different version of what you link > against. For maximum reusable, stick to frozen interfaces and files > (see nsXPCOM.h, for frozen C APIs' to the commonly used interfaces.)
OK, this is linked against xpcom.lib, and I assume the glue library is
xpcomglue.lib (from http://www.mozilla.org/projects/xpcom/book/cxc/html/appA.html#1001796
and the name :) ).
I see the reason for doing this was that the code is set to build in mozilla/extensions/wbmp and the makefile is a modified version of one of the ones in the tree rather than one of the platform specific ones described in "Creating XPCOM Components" Appendix A. When I switch
REQUIRES = xpcom \
to
REQUIRES = xpcomglue \
in an effort to link against xpcomglue.lib, it fails to compile as there is no ../../dist/include/xpcomglue directory.
So could somebody tell me:
1) Is the second error "The procedure entry point [EMAIL PROTECTED]@@QAEXVnsQueryInterface@ ..." due to compiling and linking against current CVS code and putting the result in a 1.6 build?
2) Is mozilla/extensions the right place to be building this, or should this built separately using the Gecko SDK?
3) If mozilla/extensions is the right place, then how do I include ../../dist/include/xpcom but link against xpcomglue.lib?
Thanks again, Arunan _______________________________________________ Mozilla-xpcom mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-xpcom
