> 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

Reply via email to