Macos 在尝试构建gpuocelot时,在OS X Lion上遇到boost链接错误
当我试图在OS X上构建libocelot.dylib时,我遇到了针对boost的链接器错误。看起来这是构建脚本的最后一步,当它运行命令时:Macos 在尝试构建gpuocelot时,在OS X Lion上遇到boost链接错误,macos,boost,osx-lion,Macos,Boost,Osx Lion,当我试图在OS X上构建libocelot.dylib时,我遇到了针对boost的链接器错误。看起来这是构建脚本的最后一步,当它运行命令时: g++ -o .release_build/libocelot.dylib -lstdc++ -dynamiclib [...many *.os files referenced here ...] -L/usr/lib -L.release_build -L. -lboost_system-mt -lboost_filesystem-mt -lboost
g++ -o .release_build/libocelot.dylib -lstdc++ -dynamiclib [...many *.os files referenced here ...] -L/usr/lib -L.release_build -L. -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -lGLEW -ldl
这会产生几个未定义的符号错误,如下所示:
Undefined symbols for architecture x86_64:
"std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)", referenced from:
"std::__detail::_List_node_base::swap(std::__detail::_List_node_base&, std::__detail::_List_node_base&)", referenced from:
"std::__detail::_List_node_base::_M_unhook()", referenced from:
"std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)", referenced from:
"std::__detail::__prime_list", referenced from:
"std::_Hash_bytes(void const*, unsigned long, unsigned long)", referenced from:
"std::ctype<char>::_M_widen_init() const", referenced from:
"_glGetError", referenced from:
等等。因此,出于某种原因,ocelot正在寻找的符号没有在boost中构建。有没有关于我可能做错了什么的想法,或者其他方法?对于构建boost,我遵循下面链接的说明
lib$ nm *.dylib | grep _M_hook
U __ZNSt8__detail15_List_node_base7_M_hookEPS0_
U __ZNSt8__detail15_List_node_base7_M_hookEPS0_
U __ZNSt8__detail15_List_node_base7_M_hookEPS0_
U __ZNSt8__detail15_List_node_base7_M_hookEPS0_
U __ZNSt8__detail15_List_node_base7_M_hookEPS0_
U __ZNSt8__detail15_List_node_base7_M_hookEPS0_
lib$ nm *.dylib | grep _M_unhook
U __ZNSt8__detail15_List_node_base9_M_unhookEv
U __ZNSt8__detail15_List_node_base9_M_unhookEv
U __ZNSt8__detail15_List_node_base9_M_unhookEv
U __ZNSt8__detail15_List_node_base9_M_unhookEv