My app works great on the Corona Simulator, but when I submitted it to Apple for beta review, it was rejected due to a black screen on an iPad running iOS 9.3.2.
So, I built for the XCode simulator to chase down the issue, but when I build, I get the following error:
Jul 08 02:17:18.208 iOS build failed (12)
Jul 08 02:17:18.557 ERROR: Build Failed: There was a problem linking the app.
My guess is that this is related to Apple’s rejection.
The line (see dump below) “Undefined symbols for architecture i386” makes me think it’s related to 64bit/32bit compatibility which was required last year by Apple. However, all my plugins, Corona, and Xcode are up to date and from what I read should therefore be 32/64-bit-universal.
Anyone run into this and find a solution?
Thanks!
Here is more info from the console:
clang: error: linker command failed with exit code 1 (use -v to see invocation)</result>
Jul 08 02:17:18.180 ERROR: Builder failed: Undefined symbols for architecture i386:
Jul 08 02:17:18.180 “std::string::find(char const*, unsigned long, unsigned long) const”, referenced from:
Rtt::ShaderName::ShaderName(char const*) in libtemplate.a(Rtt_ShaderName.o)
“std::string::compare(char const*) const”, referenced from:
Rtt::ShaderFactory::LoadDependency(Rtt::LuaMap*, std::string, std::map<std::string, Rtt::SharedPtr<Rtt::Shader>, std::less<std::string>, std::allocator<std::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> > > >&, bool) in libtemplate.a(Rtt_ShaderFactory.o)
Rtt::ShaderInput::UpdateCache(Rtt::TextureInfo const&, Rtt::RenderData const&) in libtemplate.a(Rtt_ShaderInput.o)
“std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const”, referenced from:
Rtt::LuaMap::LuaMap(lua_State*, int) in libtemplate.a(Rtt_LuaContainer.o)
“std::istream& std::istream::_M_extract<long>(long&)”, referenced from:
Rtt::CKWorkflow::Init(lua_State*) in libtemplate.a(Rtt_CKWorkflow.o)
“std::ostream& std::ostream::_M_insert<double>(double)”, referenced from:
Rtt::LuaMap::LuaMap(lua_State*, int) in libtemplate.a(Rtt_LuaContainer.o)
“std::string::_M_leak_hard()”, referenced from:
Rtt::CKWorkflow::CreateAlertSettingsFor(Rtt::CKWorkflow::CheckResult, std::string const&) in libtemplate.a(Rtt_CKWorkflow.o)
“std::string::_Rep::_M_destroy(std::allocator<char> const&)”, referenced from:
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::~CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
“std::string::_Rep::_S_empty_rep_storage”, referenced from:
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libtemplate.a(Rtt_CKWorkflow.o)
…
…
“std::string::append(char const*, unsigned long)”, referenced from:
Rtt::ShaderComposite::Log(std::string, bool) in libtemplate.a(Rtt_ShaderComposite.o)
“std::string::append(std::string const&)”, referenced from:
Rtt::ShaderFactory::NewProgram(char const*, char const*, char const*, char const*, Rtt::ShaderResource::ProgramMod) const in libtemplate.a(Rtt_ShaderFactory.o)
“std::string::assign(char const*, unsigned long)”, referenced from:
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::EmitterObject::Initialize(lua_State*, Rtt::Display&) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::GetCurrentPlatform() in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::CreateAlertSettingsFor(Rtt::CKWorkflow::CheckResult, std::string const&) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::PassesCheck(std::string) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::ShaderName::ShaderName(Rtt::ShaderTypes::_Category, char const*) in libtemplate.a(Rtt_ShaderName.o)
Rtt::ShaderName::ShaderName(Rtt::ShaderTypes::_Category, char const*) in libtemplate.a(Rtt_ShaderName.o)
…
“std::string::assign(std::string const&)”, referenced from:
Rtt::CKWorkflow::Init(lua_State*) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::CreateAlertSettingsFor(Rtt::CKWorkflow::CheckResult, std::string const&) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::ShaderFactory::NewProgram(char const*, char const*, char const*, char const*, Rtt::ShaderResource::ProgramMod) const in libtemplate.a(Rtt_ShaderFactory.o)
Rtt::ShaderName::ShaderName(char const*) in libtemplate.a(Rtt_ShaderName.o)
Rtt::TextureFactory::CreateAndAdd(std::string const&, Rtt::PlatformBitmap*, bool, bool) in libtemplate.a(Rtt_TextureFactory.o)
Rtt::TextureFactory::FindOrCreateCanvas(std::string const&, float, float, int, int) in libtemplate.a(Rtt_TextureFactory.o)
Rtt::TextureFactory::FindOrCreateExternal(std::string const&, CoronaExternalTextureCallbacks const*, void*) in libtemplate.a(Rtt_TextureFactory.o)
…
“std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)”, referenced from:
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libtemplate.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libtemplate.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::GetCurrentPlatform() in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::Init(lua_State*) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::CompareValues(Rtt::LuaMap&) in libtemplate.a(Rtt_CKWorkflow.o)
…
“std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)”, referenced from:
Rtt::CKWorkflow::Init(lua_State*) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetLicenseVersion(int) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetAppBundleId(int) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetProductId(int) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetPlatform(int) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetBuild(int) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::PassesCheck(std::string) in libtemplate.a(Rtt_CKWorkflow.o)
…
“std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned long, unsigned long)”, referenced from:
Rtt::ShaderName::ShaderName(char const*) in libtemplate.a(Rtt_ShaderName.o)
“std::_List_node_base::hook(std::_List_node_base*)”, referenced from:
Rtt::(anonymous namespace)::SortedHitsAlongRay::ReportFixture(b2Fixture*, b2Vec2 const&, b2Vec2 const&, float) in libtemplate.a(Rtt_LuaLibPhysics.o)
Rtt::(anonymous namespace)::SortedHitsAlongRay::ReportParticle(b2ParticleSystem const*, int, b2Vec2 const&, b2Vec2 const&, float) in libtemplate.a(Rtt_ParticleSystemObject.o)
“std::_List_node_base::swap(std::_List_node_base&, std::_List_node_base&)”, referenced from:
Rtt::RayCast(lua_State*) in libtemplate.a(Rtt_LuaLibPhysics.o)
Rtt::ParticleSystemObject::RayCast(lua_State*) in libtemplate.a(Rtt_ParticleSystemObject.o)
“std::_List_node_base::transfer(std::_List_node_base*, std::_List_node_base*)”, referenced from:
Rtt::RayCast(lua_State*) in libtemplate.a(Rtt_LuaLibPhysics.o)
Rtt::ParticleSystemObject::RayCast(lua_State*) in libtemplate.a(Rtt_ParticleSystemObject.o)
“std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::string const&, std::_Ios_Openmode)”, referenced from:
Rtt::CKWorkflow::Init(lua_State*) in libtemplate.a(Rtt_CKWorkflow.o)
“std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::_Ios_Openmode)”, referenced from:
Rtt::LuaMap::LuaMap(lua_State*, int) in libtemplate.a(Rtt_LuaContainer.o)
“std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()”, referenced from:
Rtt::CKWorkflow::Init(lua_State*) in libtemplate.a(Rtt_CKWorkflow.o)
Rtt::LuaMap::LuaMap(lua_State*, int) in libtemplate.a(Rtt_LuaContainer.o)
“std::ios_base::Init::Init()”, referenced from:
__GLOBAL__sub_I_Rtt_LuaData.cpp in libtemplate.a(Rtt_LuaData.o)
“std::ios_base::Init::~Init()”, referenced from:
__GLOBAL__sub_I_Rtt_LuaData.cpp in libtemplate.a(Rtt_LuaData.o)
“std::_Rb_tree_decrement(std::_Rb_tree_node_base*)”, referenced from:
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::_M_insert_unique(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_EmitterObject.o)
std::_Rb_tree<int, std::pair<int const, Rtt::CKWorkflow::LicenseInfo>, std::_Select1st<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::less<int>, std::allocator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::pair<int const, Rtt::CKWorkflow::LicenseInfo> const&) in libtemplate.a(Rtt_CKWorkflow.o)
std::_Rb_tree<int, std::pair<int const, Rtt::CKWorkflow::LicenseInfo>, std::_Select1st<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::less<int>, std::allocator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> > >::_M_insert_unique(std::pair<int const, Rtt::CKWorkflow::LicenseInfo> const&) in libtemplate.a(Rtt_CKWorkflow.o)
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::_M_insert_unique(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_ParticleSystemObject.o)
std::_Rb_tree<std::string, std::pair<std::string const, int>, std::_Select1st<std::pair<std::string const, int> >, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, int> >, std::pair<std::string const, int> const&) in libtemplate.a(Rtt_ShaderFactory.o)
std::_Rb_tree<std::string, std::pair<std::string const, int>, std::_Select1st<std::pair<std::string const, int> >, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::_M_insert_unique(std::pair<std::string const, int> const&) in libtemplate.a(Rtt_ShaderFactory.o)
std::_Rb_tree<std::string, std::pair<std::string const, Rtt::ShaderResource::UniformData>, std::_Select1st<std::pair<std::string const, Rtt::ShaderResource::UniformData> >, std::less<std::string>, std::allocator<std::pair<std::string const, Rtt::ShaderResource::UniformData> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, Rtt::ShaderResource::UniformData> >, std::pair<std::string const, Rtt::ShaderResource::UniformData> const&) in libtemplate.a(Rtt_ShaderFactory.o)
…
“std::_Rb_tree_increment(std::_Rb_tree_node_base const*)”, referenced from:
Rtt::Scene::QueueUpdateOfUpdatables() in libtemplate.a(Rtt_Scene.o)
Rtt::TextureFactory::Teardown() in libtemplate.a(Rtt_TextureFactory.o)
Rtt::TextureFactory::UpdateTextures(Rtt::Renderer&) in libtemplate.a(Rtt_TextureFactory.o)
“std::_Rb_tree_increment(std::_Rb_tree_node_base*)”, referenced from:
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::erase(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_EmitterObject.o)
std::_Rb_tree<int, std::pair<int const, Rtt::CKWorkflow::LicenseInfo>, std::_Select1st<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::less<int>, std::allocator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::pair<int const, Rtt::CKWorkflow::LicenseInfo> const&) in libtemplate.a(Rtt_CKWorkflow.o)
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::erase(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_ParticleSystemObject.o)
std::_Rb_tree<std::string, std::pair<std::string const, int>, std::_Select1st<std::pair<std::string const, int> >, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, int> >, std::pair<std::string const, int> const&) in libtemplate.a(Rtt_ShaderFactory.o)
std::_Rb_tree<std::string, std::pair<std::string const, Rtt::ShaderResource::UniformData>, std::_Select1st<std::pair<std::string const, Rtt::ShaderResource::UniformData> >, std::less<std::string>, std::allocator<std::pair<std::string const, Rtt::ShaderResource::UniformData> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, Rtt::ShaderResource::UniformData> >, std::pair<std::string const, Rtt::ShaderResource::UniformData> const&) in libtemplate.a(Rtt_ShaderFactory.o)
std::_Rb_tree<std::string, std::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> >, std::_Select1st<std::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> > >, std::less<std::string>, std::allocator<std::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> > >, std::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> > const&) in libtemplate.a(Rtt_ShaderFactory.o)
Rtt::TextureFactory::ReleaseByType(Rtt::TextureResource::TextureResourceType) in libtemplate.a(Rtt_TextureFactory.o)
…
“std::__throw_length_error(char const*)”, referenced from:
void std::vector<b2Vec2, std::allocator<b2Vec2> >::_M_range_insert<__gnu_cxx::__normal_iterator<b2Vec2 const*, std::vector<b2Vec2, std::allocator<b2Vec2> > > >(__gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, __gnu_cxx::__normal_iterator<b2Vec2 const*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, __gnu_cxx::__normal_iterator<b2Vec2 const*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, std::forward_iterator_tag) in libtemplate.a(SmoothPolygon.o)
void std::vector<b2Vec2, std::allocator<b2Vec2> >::_M_range_insert<__gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > > >(__gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, __gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, __gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, std::forward_iterator_tag) in libtemplate.a(SmoothPolygon.o)
std::vector<b2Vec2, std::allocator<b2Vec2> >::_M_fill_insert(__gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, unsigned long, b2Vec2 const&) in libtemplate.a(Rtt_LuaLibPhysics.o)
“std::__throw_out_of_range(char const*)”, referenced from:
Rtt::ShaderName::ShaderName(char const*) in libtemplate.a(Rtt_ShaderName.o)
“std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)”, referenced from:
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::erase(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_EmitterObject.o)
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::erase(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_ParticleSystemObject.o)
std::_Rb_tree<std::string, std::pair<std::string const, Rtt::TextureFactory::CacheEntry>, std::_Select1st<std::pair<std::string const, Rtt::TextureFactory::CacheEntry> >, std::less<std::string>, std::allocator<std::pair<std::string const, Rtt::TextureFactory::CacheEntry> > >::erase(std::_Rb_tree_iterator<std::pair<std::string const, Rtt::TextureFactory::CacheEntry> >) in libtemplate.a(Rtt_TextureFactory.o)
std::_Rb_tree<std::string, std::pair<std::string const, Rtt::SharedPtr<Rtt::TextureResource> >, std::_Select1st<std::pair<std::string const, Rtt::SharedPtr<Rtt::TextureResource> > >, std::less<std::string>, std::allocator<std::pair<std::string const, Rtt::SharedPtr<Rtt::TextureResource> > > >::erase(std::_Rb_tree_iterator<std::pair<std::string const, Rtt::SharedPtr<Rtt::TextureResource> > >) in libtemplate.a(Rtt_TextureFactory.o)
std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::erase(std::_Rb_tree_iterator<std::string>, std::_Rb_tree_iterator<std::string>) in libtemplate.a(Rtt_TextureFactory.o)
std::_Rb_tree<Rtt::CPUResource const*, std::pair<Rtt::CPUResource const* const, Rtt::CPUResource*>, std::_Select1st<std::pair<Rtt::CPUResource const* const, Rtt::CPUResource*> >, std::less<Rtt::CPUResource const*>, std::allocator<std::pair<Rtt::CPUResource const* const, Rtt::CPUResource*> > >::erase(Rtt::CPUResource const* const&) in libtemplate.a(Rtt_CPUResourcePool.o)
“std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)”, referenced from:
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::_M_insert_unique(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_EmitterObject.o)
std::_Rb_tree<int, std::pair<int const, Rtt::CKWorkflow::LicenseInfo>, std::_Select1st<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::less<int>, std::allocator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::pair<int const, Rtt::CKWorkflow::LicenseInfo> const&) in libtemplate.a(Rtt_CKWorkflow.o)
std::_Rb_tree<int, std::pair<int const, Rtt::CKWorkflow::LicenseInfo>, std::_Select1st<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> >, std::less<int>, std::allocator<std::pair<int const, Rtt::CKWorkflow::LicenseInfo> > >::_M_insert_unique(std::pair<int const, Rtt::CKWorkflow::LicenseInfo> const&) in libtemplate.a(Rtt_CKWorkflow.o)
std::_Rb_tree<Rtt::MUpdatable*, Rtt::MUpdatable*, std::_Identity<Rtt::MUpdatable*>, std::less<Rtt::MUpdatable*>, std::allocator<Rtt::MUpdatable*> >::_M_insert_unique(Rtt::MUpdatable* const&) in libtemplate.a(Rtt_ParticleSystemObject.o)
std::_Rb_tree<std::string, std::pair<std::string const, int>, std::_Select1st<std::pair<std::string const, int> >, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, int> >, std::pair<std::string const, int> const&) in libtemplate.a(Rtt_ShaderFactory.o)
std::_Rb_tree<std::string, std::pair<std::string const, int>, std::_Select1st<std::pair<std::string const, int> >, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::_M_insert_unique(std::pair<std::string const, int> const&) in libtemplate.a(Rtt_ShaderFactory.o)
std::_Rb_tree<std::string, std::pair<std::string const, Rtt::ShaderResource::UniformData>, std::_Select1st<std::pair<std::string const, Rtt::ShaderResource::UniformData> >, std::less<std::string>, std::allocator<std::pair<std::string const, Rtt::ShaderResource::UniformData> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, Rtt::ShaderResource::UniformData> >, std::pair<std::string const, Rtt::ShaderResource::UniformData> const&) in libtemplate.a(Rtt_ShaderFactory.o)
…
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
BUILD ERROR: There was a problem linking the app.