libtool
[Top][All Lists]
Advanced

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

Re: Multiple definitions on Darwin, using convenience libs


From: Florian Schricker
Subject: Re: Multiple definitions on Darwin, using convenience libs
Date: Fri, 07 Jul 2006 12:13:48 +0200

Hi Ralf!


On Fri, 2006-07-07 at 11:24 +0200, Ralf Wildenhues wrote:
> Hello Florian,
> 
> * Florian Schricker wrote on Fri, Jul 07, 2006 at 11:05:13AM CEST:
> >
> > I had glibtool installed locally but still had the same error. After
> > more googeling I found that template definitions, or their
> > specialisations for a certain type, are a cause for these problems, too.
> > The cure is described in the C++-FAQ-lite (35.1). I had to completely
> > re-organise the mess^Wcode but it's now all linking fine. :-)
> 
> Unfortunately, in an otherwise nice bug report, you neither cut-n-pasted
> any error messages in your first post on this topic, (so there was
> little clue that this may be a template specific problem, nor is there
> incentive for a web search engine to output your archived message on a
> search result to this end), neither do you actually describe the fix for
> your problem -- the C++ FAQ lite at 35.1:
> http://www.parashift.com/c++-faq-lite/templates.html#faq-35.1 contains
> only a general question about templates.  And it still leaves me
> wondering whether this issue was in the end Libtool-specific or not,
> or whether Libtool can do anything to make templates work better here or
> not.
> 
> Please help make the list archive more useful, by providing more
> information, and thinking of the person that reads your message
> in 2 years.

Yes, you're definitly right. As much as I like to find answers while
searching in archives or whatnot, I really should've provided some more
info on this.

Problem is: As I have all changes already commited to our repository and
I have no build-log around, I can not fully re-produce the problem with
complete error messages.

(In upcoming problems - and I'm sure they'll come around ;) - I'll try
to keep more "input" around!)


At least I can tell, what I did:

I switched the whole package to using forward declarations exclusively
in all headers.
Also I found that there where a lot of typedefs for the templates across
many headers, which got included by many cpp-files, so I moved them to
the cpp-files, too. I'm not sure, whether a line like

        typedef cTplSet<G_edge> cEdgeSet;

in a header included by many cpp-files causes these "multiple
definition" error, but it's working now.

Sorry again that I have no error logs around anymore...


regards,
Florian





reply via email to

[Prev in Thread] Current Thread [Next in Thread]