I have added code to my plug-in that uses nsCOMPtr and nsAutoString, meaning that my plug-in must link with libxpcom. However, I can't seem to find the proper incantation to make this work. Invariably I see a message like this one when starting the browser:
LoadPlugin: failed to initialize shared library /usr/lib/mozilla/plugins/openvrml.so [/usr/lib/mozilla/plugins/openvrml.so: undefined symbol: _ZTI8nsString] I'm linking my plug-in like this: g++ -shared -nostdlib /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../../crti.o /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/crtbeginS.o .libs/openvrml.o .libs/vrmlbrowser.o -Wl,--rpath -Wl,/home/braden/src/openvrml/openvrml.plugin-relurl/BUILD/src/libopenvrml/.libs -Wl,--rpath -Wl,/home/braden/src/openvrml/openvrml.plugin-relurl/BUILD/src/libopenvrml-gl/.libs -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/lib/mozilla-1.6 -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../../ -L/usr/lib -L/usr/lib/mozilla-1.6 -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -L/usr/X11R6/lib /usr/lib/libgtkglext-x11-1.0.so /usr/lib/libgdkglext-x11-1.0.so -lGLU -lGL -lXmu -lXt -lSM -lICE -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ../../src/libopenvrml/.libs/libopenvrml.so ../../src/libopenvrml-gl/.libs/libopenvrml-gl.so -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.3 -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/crtendS.o /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../../crtn.o -Wl,--export-dynamic -Wl,-soname -Wl,openvrml.so -o .libs/openvrml.so Even adding an --rpath for the Mozilla lib--as above--directory doesn't seem to help. -- Braden McDaniel e-mail: <[EMAIL PROTECTED]> <http://endoframe.com> Jabber: <[EMAIL PROTECTED]> _______________________________________________ Mozilla-xpcom mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-xpcom
