about the libc++ conversion

Ken Cunningham ken.cunningham.webuse at gmail.com
Fri Jun 2 22:46:29 UTC 2017


> However, if I read what's said about this on Linux forums I get the impression 
> that the linker should or might raise errors because of the use of different 
> namespaces. 

That's right. I've seen errors that look like this, with this std::__1 business:

Undefined symbols for architecture x86_64:
 "glbinding::setAfterCallback(std::__1::function<void (glbinding::FunctionCall const&)>)", referenced from:
     Gl::initialize(Gl::Trace const&, SDL_Window*, int*) in libgraphic_gl_utils.a(initialize.cc.o)
 "glbinding::setCallbackMaskExcept(glbinding::CallbackMask, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&)", referenced from:
     Gl::initialize(Gl::Trace const&, SDL_Window*, int*) in libgraphic_gl_utils.a(initialize.cc.o)
 "glbinding::AbstractValue::asString() const", referenced from:
     std::__1::__function::__func<Gl::initialize(Gl::Trace const&, SDL_Window*, int*)::$_0, std::__1::allocator<Gl::initialize(Gl::Trace const&, SDL_Window*, int*)::$_0>, void (glbinding::FunctionCall const&)>::operator()(glbinding::FunctionCall const&) in libgraphic_gl_utils.a(initialize.cc.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


See <https://stackoverflow.com/questions/29293394/where-does-the-1-symbol-come-from-when-using-llvms-libc> and many other similar references on the web.

Ken


More information about the macports-dev mailing list