I am trying to embed mozilla in an application. I am starting by writing a simple example. Everything compiles fine, however I get the following link error. The source and makefile are below. Any help would be appreciated.
Environment: gcc-3.2 glibc-2.2.5 Gentoo Linux 1.4(RC1) Error: > Main.o(.gnu.linkonce.d._ZTI14nsAFlatCString+0x8): undefined reference to `typeinfo for nsASingleFragmentCString' > collect2: ld returned 1 exit status > make: *** [htmlcontrol] Error 1 Main.cpp > #include> > #include > #include > #include > #include > > int main(int argc, char *argv[]) > { > char *mozBinPath = nsnull; nsCOMPtr binDir; > nsresult result = NS_NewNativeLocalFile(nsDependentCString(mozBinPath), PR_TRUE, getter_AddRefs(binDir)); > > return EXIT_SUCCESS; > } Makefile > # Compiler Settings > CC = /usr/bin/c++ > CFLAGS = -g -Wno-deprecated > LDFLAGS = > > # Include Paths > INCLUDES1 = -I/home/ihutchinson/workspace/xvt/mozilla/dist/sdk/idl \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/nspr \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/string \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/xpcom \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/embed_base \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/embedcomponents \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/widget \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/webbrwsr \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/docshell \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/uriloader \ > -I. > > INCLUDES2 = -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/necko \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/dom \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/profile \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/gfx \ > -I/home/ihutchinson/workspace/xvt/mozilla/dist/include/shistory > > INCLUDES = $(INCLUDES1) $(INCLUDES2) > > # Library paths > LIBS = -L/home/ihutchinson/workspace/xvt/dsc_xm-0500-Linux/samples/ptk/htmlcontrol -L/home/ihutchinson/workspace/xvt/mozilla/dist/lib \ > -L/home/ihutchinson/workspace/xvt/mozilla/dist/lib/components -lm -lxpcom > > # Objects > OBJS = Main.o > > # Targets > > TARGETS = htmlcontrol > > all: $(TARGETS) > > Main.o: Main.cpp > $(CC) -c $(INCLUDES) Main.cpp > > htmlcontrol: $(OBJS) > $(CC) $(CFLAGS) -o htmlcontrol $(OBJS) $(LIBS) > > clean: > -rm $(OBJS) > -rm $(TARGETS) >
