转自:http://blog.youkuaiyun.com/hamasn/article/details/8551895
01 |
Undefined
symbols for architecture
i386: |
02 |
"TextureMan::LoadTexture(std::__1::basic_string,
std::__1::allocator > const&, int, bool)" ,
referenced from: |
03 |
tolua_gameinterface_TextureMan_loadTexture00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
04 |
"SoundManager::BgndMusicPlay(std::__1::basic_string,
std::__1::allocator > const&, bool)" ,
referenced from: |
05 |
tolua_gameinterface_SoundManager_BgndMusicPlay00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
06 |
"SoundManager::BgndMusicStop(std::__1::basic_string,
std::__1::allocator > const&, bool)" ,
referenced from: |
07 |
tolua_gameinterface_SoundManager_BgndMusicStop00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
08 |
"Font::LoadFont(std::__1::basic_string,
std::__1::allocator > const&)" ,
referenced from: |
09 |
tolua_gameinterface_Font_loadFont00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
10 |
"System::MakeDocumentPath(std::__1::basic_string,
std::__1::allocator > const&) const" ,
referenced from: |
11 |
tolua_gameinterface_System_makeDocumentPath00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
12 |
"System::MakeResourcePath(std::__1::basic_string,
std::__1::allocator > const&) const" ,
referenced from: |
13 |
ExUnit::LogicThread::Run() in libCoreClientiOS.a(logicthread.o) |
14 |
tolua_gameinterface_System_makeResourcePath00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
15 |
"std::__1::__vector_base_common::__throw_length_error()
const" ,
referenced from: |
16 |
void
std::__1::vector >::__push_back_slow_path(float const&&&) in libCoreClientiOS.a(tolua_gameinterface.o) |
17 |
void
std::__1::vector, std::__1::allocator > >::__push_back_slow_path const&>(std::__1::basic_string, std::__1::allocator > const&&&) in libCoreClientiOS.a(tolua_gameinterface.o) |
18 |
void
std::__1::vector >::__push_back_slow_path(int const&&&) in libCoreClientiOS.a(tolua_gameinterface.o) |
19 |
"std::__1::locale::use_facet(std::__1::locale::id&)
const" ,
referenced from: |
20 |
std::__1::basic_ostream
>& std::__1::endl >(std::__1::basic_ostream >&) in libCoreClientiOS.a(logicthread.o) |
21 |
"std::__1::ios_base::getloc()
const" ,
referenced from: |
22 |
std::__1::basic_ostream
>& std::__1::endl >(std::__1::basic_ostream >&) in libCoreClientiOS.a(logicthread.o) |
23 |
"std::__1::basic_string,
std::__1::allocator >::__init(char const*, unsigned long)" ,
referenced from: |
24 |
_l_registercallback in libCoreClientiOS.a(logicthread.o) |
25 |
_luapanic in libCoreClientiOS.a(logicthread.o) |
26 |
ExUnit::LogicThread::Run() in libCoreClientiOS.a(logicthread.o) |
27 |
ExUnit::LogicThread::HandleError() in libCoreClientiOS.a(logicthread.o) |
28 |
ExUnit::LogicThread::CallVA(char
const*, char const*, ...) in libCoreClientiOS.a(logicthread.o) |
29 |
ExUnit::LogicThread::RemoveCallback(char
const*) in libCoreClientiOS.a(logicthread.o) |
30 |
ExUnit::LogicThread::SetCallback(char
const*, int) in libCoreClientiOS.a(logicthread.o) |
32 |
"std::__1::basic_string,
std::__1::allocator >::assign(char const*)" ,
referenced from: |
33 |
System::SetEngineScriptPath(char
const*) in libCoreClientiOS.a(tolua_gameinterface.o) |
34 |
"std::__1::basic_string,
std::__1::allocator >::basic_string(std::__1::basic_string, std::__1::allocator > const&)" ,
referenced from: |
35 |
tolua_gameinterface_vector_string___geti00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
36 |
tolua_gameinterface_vector_string___geti01(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
37 |
tolua_gameinterface_vector_string__push_back00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
38 |
void
std::__1::vector, std::__1::allocator > >::__push_back_slow_path const&>(std::__1::basic_string, std::__1::allocator > const&&&) in libCoreClientiOS.a(tolua_gameinterface.o) |
39 |
"std::__1::basic_string,
std::__1::allocator >::~basic_string()" ,
referenced from: |
40 |
_l_registercallback in libCoreClientiOS.a(logicthread.o) |
41 |
_luapanic in libCoreClientiOS.a(logicthread.o) |
42 |
ExUnit::LogicThread::Run() in libCoreClientiOS.a(logicthread.o) |
43 |
ExUnit::LogicThread::HandleError() in libCoreClientiOS.a(logicthread.o) |
44 |
ExUnit::LogicThread::CallVA(char
const*, char const*, ...) in libCoreClientiOS.a(logicthread.o) |
45 |
ExUnit::LogicThread::RemoveCallback(char
const*) in libCoreClientiOS.a(logicthread.o) |
46 |
ExUnit::LogicThread::SetCallback(char
const*, int) in libCoreClientiOS.a(logicthread.o) |
48 |
"std::__1::basic_string,
std::__1::allocator >::operator=(std::__1::basic_string, std::__1::allocator > const&)" ,
referenced from: |
49 |
tolua_gameinterface_vector_string___seti00(lua_State*) in libCoreClientiOS.a(tolua_gameinterface.o) |
50 |
"std::__1::basic_ostream
>::put(char)" ,
referenced from: |
51 |
std::__1::basic_ostream
>& std::__1::endl >(std::__1::basic_ostream >&) in libCoreClientiOS.a(logicthread.o) |
52 |
"std::__1::basic_ostream
>::flush()" ,
referenced from: |
53 |
std::__1::basic_ostream
>& std::__1::endl >(std::__1::basic_ostream >&) in libCoreClientiOS.a(logicthread.o) |
54 |
"std::__1::basic_ostream
>::sentry::sentry(std::__1::basic_ostream >&)" ,
referenced from: |
55 |
std::__1::basic_ostream
>& std::__1::operator<<<std::__1::char_traits >(std::__1::basic_ostream >&, char const*) in libCoreClientiOS.a(logicthread.o) |
56 |
"std::__1::basic_ostream
>::sentry::~sentry()" ,
referenced from: |
57 |
std::__1::basic_ostream
>& std::__1::operator<<<std::__1::char_traits >(std::__1::basic_ostream >&, char const*) in libCoreClientiOS.a(logicthread.o) |
58 |
"std::__1::cerr" ,
referenced from: |
59 |
ExUnit::LogicThread::Run() in libCoreClientiOS.a(logicthread.o) |
60 |
ExUnit::LogicThread::ContactTriggered(b2Contact*) in libCoreClientiOS.a(logicthread.o) |
61 |
ExUnit::LogicThread::SensorTriggered(b2Contact*) in libCoreClientiOS.a(logicthread.o) |
62 |
"std::__1::ctype::id" ,
referenced from: |
63 |
std::__1::basic_ostream
>& std::__1::endl >(std::__1::basic_ostream >&) in libCoreClientiOS.a(logicthread.o) |
64 |
"std::__1::locale::~locale()" ,
referenced from: |
65 |
std::__1::basic_ostream
>& std::__1::endl >(std::__1::basic_ostream >&) in libCoreClientiOS.a(logicthread.o) |
66 |
"std::__1::ios_base::__set_badbit_and_consider_rethrow()" ,
referenced from: |
67 |
std::__1::basic_ostream
>& std::__1::operator<<<std::__1::char_traits >(std::__1::basic_ostream >&, char const*) in libCoreClientiOS.a(logicthread.o) |
68 |
"std::__1::ios_base::clear(unsigned
int)" ,
referenced from: |
69 |
std::__1::basic_ostream
>& std::__1::operator<<<std::__1::char_traits >(std::__1::basic_ostream >&, char const*) in libCoreClientiOS.a(logicthread.o) |
70 |
ld:
symbol(s) not found for architecture
i386 |
71 |
clang:
error: linker command failed
with exit code
1 (use - v to
see invocation) |
看着就非常复杂!
有这么多的link STL的错误。
其实,就是你编译静态库的时候使用不同版本的标准库, C++ Standard Library
那么如何fix掉这个issue呢?看下面这两张图!
如果你这两个在编译静态库和在使用静态库的app中设置的是一样的,应该就可以解决掉这个问题!
事实上,compiler default 足够了。
期待讨论,反馈问题!