Help with link error
Iran Hutchinson <[email protected]> Fri, 01 Nov 2002 03:40:29 GMT
| Newsgroups | gmane.comp.mozilla.devel.xpcom |
|---|---|
| Organization | Road Runner - NC |
| Message-ID | <[email protected]> |
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)
>