trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2012

Re: [trinity-devel] "undefined reference to" error

From: /dev/ammo42 <mickeytintincolle@...>
Date: Tue, 3 Jan 2012 11:20:01 +0100
On Mon, 2 Jan 2012 18:30:23 -0800 (PST)
Darrell Anderson <humanreadable@...> wrote:

> > > > The undefined reference to "KexiDB::" implies a
> > class or namespace
> > > > (still
> > > learning terminology!), but in which *.cpp or *.h
> > file?
> > >
> > > cd to the source directory then grep -r "KexiDB::" *
> > I'd rather grep "Parser::~Parser()" since namespaces can be
> > delimited
> > by something like
> > namespace KexiDB {
> >     Parser::~Parser() {
> >         // the function
> >     }
> > }
> > which wouldn't be detected by your grep command.
> > >
> > > See if you get a hit.
> 
> Thanks both for helping!
> 
> Actually, Several days ago I did what both of you suggested. :)
> 
> I just don't know what to do next. (Newbie!)
I looked at the Makefile.am files and actually there are two libraries:
-libkexidb.so, which contains the .cpp files of the kexidb/ directory
-libkexidbparser.so, which contains the .cpp files of the
kexidb/parser/ directory
and libkexidb.so apparently can't be used without libkexidbparser.so.
I think the solution is to add "-lkexidbparser" to the failing linker
commands, and, if it isn't already done, to make libkexidb.so depend on
libkexidbparser.so.
> 
> Searching for KexiDB:: results in overload. Too many. Further, the
> KexiDB class/namespace is used in many *.cpp files.
> 
> All of the errors seem to be located from within
> kexi/kexidb/parser/parser.cpp.
> 
> ../../.libs/libkexidb.so: undefined reference to
> `KexiDB::Parser::~Parser()' ../../.libs/libkexidb.so: undefined
> reference to `KexiDB::Parser::statement()
> const' ../../.libs/libkexidb.so: undefined reference to
> `KexiDB::Parser::parse(QString const&)' ../../.libs/libkexidb.so:
> undefined reference to `tname(int)' ../../.libs/libkexidb.so:
> undefined reference to
> `KexiDB::Parser::Parser(KexiDB::Connection*)' ../../.libs/libkexidb.so:
> undefined reference to `KexiDB::Parser::query()'
> 
> 
> Thanks!
> 
> Darrell
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> trinity-devel-unsubscribe@... For additional
> commands, e-mail: trinity-devel-help@... Read
> list messsages on the Web archive:
> http://trinity-devel.pearsoncomputing.net/ Please remember not to
> top-post:
> http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
>