The table in the "Sample Compiler/Linker Flags" section is painfully wide. Perhaps it should be transposed, like this? --Nickolay 09:05, 11 July 2006 (PDT)

Linking Strategy Dependent Glue Standalone Glue
Compiler Flags
  #include "xpcom-config.h" #include "xpcom-config.h"
#define XPCOM_GLUE
OS-dependent Linker Flags
Windows -LIBPATH:c:/path/to/sdk/lib xpcomglue_s.lib xpcom.lib nspr4.lib -LIBPATH:c:/path/to/sdk/lib xpcomglue.lib
Mac -L/path/to/sdk/lib -L/path/to/sdk/bin -Wl,-executable-path,/path/to/sdk/bin -lxpcomglue_s -lxpcom -lnspr4 -L/path/to/sdk/lib -lxpcomglue
Linux -L/path/to/sdk/lib -L/path/to/sdk/bin -Wl,-rpath-link,/path/to/sdk/bin -lxpcomglue_s -lxpcom -lnspr4 -L/path/to/sdk/lib -lxpcomglue

Link Issues under VC2005

when using the xuirunner and not building the gecko sdk I found that I had this error:

error LNK2019: unresolved external symbol "unsigned int __cdecl NS_TableDrivenQI(void *,struct QITableEntry const *,struct nsID const &,void * *)" (?NS_TableDrivenQI@@YAIPAXPBUQITableEntry@@ABUnsID@@PAPAX@Z) referenced in function "public: virtual unsigned int __stdcall PComp::QueryInterface(struct nsID const &,void * *)" (?QueryInterface@PComp@@UAGIABUnsID@@PAPAX@Z)

This page: How to build a binary XPCOM component using Visual Studio, seems to layout all the necessary steps, including #define'ing WINXP, XP_WIN and WINXP_32

the xpcom-config.h mentioned in the table seems to be compiler specific settings(?) generated by an installer program(?), perhaps only something that happens if you are building the gecko or xuirunner sdk... i didn't need to include it in order to compile.  --User:ionous

I wanted to add a little thing, so i went ahead and re-formatted the table along the way. The way it's now, I would probably be able to remember things easier myself next year. Feel free to change it if something doesn't look right. --User:ultranet

Document Tags and Contributors

Contributors to this page: Nickolay, ultranet, ionous, nerovengene
Last updated by: nerovengene,