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)
> 


Reply via email to