• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: duplicate symbol from boost
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: duplicate symbol from boost


  • Subject: Re: duplicate symbol from boost
  • From: Nivek Research <email@hidden>
  • Date: Sun, 13 Jun 2010 08:29:33 -0400

You may be experiencing the effects of a bug in GCC <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10591>. The symbols in question are declared in the anonymous namespace and, therefore, global, but due to the bug they are not unique. I have not found an acceptable workaround and for other reasons I'm stuck using the GCC 4.0 compiler, but I would appreciate hearing if you do find a solution.
--kevin

On Jun 11, 2010, at 5:14 PM, email@hidden wrote:

> We have 2 main projects; one for a desktop product and one for a server product. They both contain the same subprojects. They have different but somewhat similar pch files. One of the subprojects relies heavily on boost. When I build the server project, I'm getting this:
>
> ld: duplicate symbol boost::lambda::(anonymous namespace)::_3                                                                                           in /depot/cmyk/xcodebuilds/Debug/libAGLServerDB.a(MultiAdBlitters.o) and /depot/cmyk/xcodebuilds/Debug/libAGLServerDB.a(hsGBitmapBlitters.o)
>
> This symbol comes from boost/lambda/core.hpp and looks like this:
>
> namespace boost {
> namespace lambda {
>
> namespace {
>
>  // These are constants types and need to be initialised
>  boost::lambda::placeholder1_type free1 = boost::lambda::placeholder1_type();
>  boost::lambda::placeholder2_type free2 = boost::lambda::placeholder2_type();
>  boost::lambda::placeholder3_type free3 = boost::lambda::placeholder3_type();
>
>  boost::lambda::placeholder1_type& _1 = free1;
>  boost::lambda::placeholder2_type& _2 = free2;
>  boost::lambda::placeholder3_type& _3 = free3;
>  // _1, _2, ... naming scheme by Peter Dimov
> } // unnamed
>
> } // lambda
> } // boost
>
> What could cause this symbol to generate that error in one project and not in another.
>
> Steve Mills
> Drummer, Mac geek

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Re: warning: implicit declaration of function 'mach_reply_port'
  • Next by Date: Re: warning: implicit declaration of function 'mach_reply_port'
  • Previous by thread: duplicate symbol from boost
  • Next by thread: duplicate symbol from boost
  • Index(es):
    • Date
    • Thread