Re: multiple definitions linker error when building 2.0.5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 --- Zygmuntowicz Michal <m.zygmuntowicz@onet.pl>
wrote:
> I hoped that -frepo is the option we search for, but
> it has two drawbacks:
> *) much longer linking time,

Not really a problem... Do people want the executable
or don't they? And how many times will they build it?
They can leave it building overnight if necessary.

> *) does not solve the problem for all
> compilers/configurations.

Yes, this *is* a problem. I strongly suspect that
you're using g++ < 3. However, the solution for g++
2.x is explicit template instantiation, and that's
NASTY.

For example, in your case you would need a file like
this one for every symbol missing from your link:

#include <list>
#include <string>
using std::list;
using std::string;

typedef list<string>  LIST;


template
void
LIST::_Base::clear();


This file instantiates the template function:

std::_List_base<std::string,
std::allocator<std::string> >::clear()

which has the mangled name of:

_ZNSt10_List_baseISsSaISsEE5clearEv

Bleugh! But it does work. The idea here is that you'd
get -frepo to do most of the work, and then you'd fill
in the missing pieces. And STRONGLY suggest upgrading
their GNU compiler ;-).

Chris


________________________________________________________________________
Want to chat instantly with your online friends?  Get the FREE Yahoo!
Messenger http://mail.messenger.yahoo.co.uk


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
List: Openh323gk-users@lists.sourceforge.net
Archive: http://sourceforge.net/mailarchive/forum.php?forum_id=8549
Homepage: http://www.gnugk.org/

[Index of Archives]     [SIP]     [Open H.323]     [Gnu Gatekeeper]     [Asterisk PBX]     [ISDN Cause Codes]     [Yosemite News]

  Powered by Linux