I was working on a sub-project, getting everything ready for arm64.
My iOS enterprise app compiled and linked without issue until a day ago. Suddenly, I’m getting compile errors with headers not being found. Although the alias to CoronaEnterprise appears valid, and following User Header Search Paths in Finder (Go to) put me where the headers were, Xcode reported problems.
I resolved the compile issues by substituting SRCROOT with /Applications/. Now it compiles, but produces the link errors shown below related to missing symbols from libplayer. I’m at wit’s end trying to figure out where to look next.
Any suggestions?
-Tom
Here’s the error listing from Xcode:
Ld /Users/tbuchler/Library/Developer/Xcode/DerivedData/TropeTrainer-akvmzbrcxxxtqedhaltopcazfhyr/Build/Intermediates/TropeTrainer.build/Debug-iphoneos/TropeTrainer.build/Objects-normal/arm64/TropeTrainer normal arm64
cd /Users/tbuchler/Dropbox/TGBProjects/TFMelodyDesigner/TTM_Enterprise/ios
export IPHONEOS_DEPLOYMENT_TARGET=8.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk -L/Users/tbuchler/Library/Developer/Xcode/DerivedData/TropeTrainer-akvmzbrcxxxtqedhaltopcazfhyr/Build/Products/Debug-iphoneos -L/Applications/CoronaEnterprise/Corona/ios/lib -L/Applications/CoronaEnterprise/Plugins/analytics-flurry/ios -L/Applications/CoronaEnterprise/Plugins/bit/ios -F/Users/tbuchler/Library/Developer/Xcode/DerivedData/TropeTrainer-akvmzbrcxxxtqedhaltopcazfhyr/Build/Products/Debug-iphoneos -F/Applications/CoronaEnterprise/Plugins/sdk-facebook/ios -F/Applications/CoronaEnterprise/Corona/ios/lib -filelist /Users/tbuchler/Library/Developer/Xcode/DerivedData/TropeTrainer-akvmzbrcxxxtqedhaltopcazfhyr/Build/Intermediates/TropeTrainer.build/Debug-iphoneos/TropeTrainer.build/Objects-normal/arm64/TropeTrainer.LinkFileList -all_load -fobjc-link-runtime -miphoneos-version-min=8.0 -lplayer -lplugin.bit -framework GameKit -lanalytics-flurry /Users/tbuchler/Library/Developer/Xcode/DerivedData/TropeTrainer-akvmzbrcxxxtqedhaltopcazfhyr/Build/Products/Debug-iphoneos/libdtTTS.a -framework CoreVideo -framework GLKit -weak_framework Accounts -weak_framework Social -framework AddressBook -framework AddressBookUI -framework AudioToolbox -framework AVFoundation -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework CoreMedia -framework CoreMotion -framework Foundation -framework ImageIO -lobjc -lsqlite3 -framework MapKit -framework MediaPlayer -framework MessageUI -framework MobileCoreServices -framework OpenAL -framework OpenGLES -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -weak_framework Twitter -framework UIKit -Xlinker -dependency_info -Xlinker /Users/tbuchler/Library/Developer/Xcode/DerivedData/TropeTrainer-akvmzbrcxxxtqedhaltopcazfhyr/Build/Intermediates/TropeTrainer.build/Debug-iphoneos/TropeTrainer.build/Objects-normal/arm64/TropeTrainer_dependency_info.dat -o /Users/tbuchler/Library/Developer/Xcode/DerivedData/TropeTrainer-akvmzbrcxxxtqedhaltopcazfhyr/Build/Intermediates/TropeTrainer.build/Debug-iphoneos/TropeTrainer.build/Objects-normal/arm64/TropeTrainer
Undefined symbols for architecture arm64:
“std::string::find(char const*, unsigned long, unsigned long) const”, referenced from:
Rtt::ShaderName::ShaderName(char const*) in libplayer.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 libplayer.a(Rtt_ShaderFactory.o)
Rtt::ShaderInput::UpdateCache(Rtt::TextureInfo const&, Rtt::RenderData const&) in libplayer.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 libplayer.a(Rtt_LuaContainer.o)
“std::istream& std::istream::_M_extract<long>(long&)”, referenced from:
Rtt::CKWorkflow::Init(lua_State*) in libplayer.a(Rtt_CKWorkflow.o)
“std::ostream& std::ostream::_M_insert<double>(double)”, referenced from:
Rtt::LuaMap::LuaMap(lua_State*, int) in libplayer.a(Rtt_LuaContainer.o)
“std::string::_M_leak_hard()”, referenced from:
Rtt::CKWorkflow::CreateAlertSettingsFor(Rtt::CKWorkflow::CheckResult, std::string const&) in libplayer.a(Rtt_CKWorkflow.o)
“std::string::_Rep::_M_destroy(std::allocator<char> const&)”, referenced from:
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libplayer.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libplayer.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libplayer.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::~CKWorkflow() in libplayer.a(Rtt_CKWorkflow.o)
…
“std::string::_Rep::_S_empty_rep_storage”, referenced from:
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libplayer.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::EmitterObject() in libplayer.a(Rtt_EmitterObject.o)
Rtt::EmitterObject::~EmitterObject() in libplayer.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::CKWorkflow() in libplayer.a(Rtt_CKWorkflow.o)
…
“std::string::append(char const*, unsigned long)”, referenced from:
Rtt::ShaderComposite::Log(std::string, bool) in libplayer.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 libplayer.a(Rtt_ShaderFactory.o)
“std::string::assign(char const*, unsigned long)”, referenced from:
Corona::DependencyLoader::CCDependencyCheck(Rtt::Runtime const&) in libplayer.a(Rtt_DependencyLoader.o)
Rtt::EmitterObject::Initialize(lua_State*, Rtt::Display&) in libplayer.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::GetCurrentPlatform() in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::CreateAlertSettingsFor(Rtt::CKWorkflow::CheckResult, std::string const&) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::PassesCheck(std::string) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::ShaderName::ShaderName(Rtt::ShaderTypes::_Category, char const*) in libplayer.a(Rtt_ShaderName.o)
Rtt::ShaderName::ShaderName(Rtt::ShaderTypes::_Category, char const*) in libplayer.a(Rtt_ShaderName.o)
…
“std::string::assign(std::string const&)”, referenced from:
Rtt::CKWorkflow::Init(lua_State*) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::CreateAlertSettingsFor(Rtt::CKWorkflow::CheckResult, std::string const&) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::ShaderFactory::NewProgram(char const*, char const*, char const*, char const*, Rtt::ShaderResource::ProgramMod) const in libplayer.a(Rtt_ShaderFactory.o)
Rtt::ShaderName::ShaderName(char const*) in libplayer.a(Rtt_ShaderName.o)
Rtt::LuaMap::LuaMap(lua_State*, int) in libplayer.a(Rtt_LuaContainer.o)
std::vector<std::string, std::allocator<std::string> >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, std::string const&) in libplayer.a(Rtt_LuaContainer.o)
Rtt::LuaString::LuaString(std::string) in libplayer.a(Rtt_LuaData.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 libplayer.a(Rtt_DependencyLoader.o)
Rtt::Util_GetBool(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::Util_GetDouble(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::Util_GetString(Rtt::LuaMap&, char const*) in libplayer.a(Rtt_EmitterObject.o)
Rtt::CKWorkflow::GetCurrentPlatform() in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::Init(lua_State*) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::CompareValues(Rtt::LuaMap&) in libplayer.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 libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetLicenseVersion(int) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetAppBundleId(int) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetProductId(int) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetPlatform(int) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::GetBuild(int) in libplayer.a(Rtt_CKWorkflow.o)
Rtt::CKWorkflow::PassesCheck(std::string) in libplayer.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 libplayer.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 libplayer.a(Rtt_LuaLibPhysics.o)
Rtt::(anonymous namespace)::SortedHitsAlongRay::ReportParticle(b2ParticleSystem const*, int, b2Vec2 const&, b2Vec2 const&, float) in libplayer.a(Rtt_ParticleSystemObject.o)
“std::_List_node_base::swap(std::_List_node_base&, std::_List_node_base&)”, referenced from:
Rtt::RayCast(lua_State*) in libplayer.a(Rtt_LuaLibPhysics.o)
Rtt::ParticleSystemObject::RayCast(lua_State*) in libplayer.a(Rtt_ParticleSystemObject.o)
“std::_List_node_base::transfer(std::_List_node_base*, std::_List_node_base*)”, referenced from:
Rtt::RayCast(lua_State*) in libplayer.a(Rtt_LuaLibPhysics.o)
Rtt::ParticleSystemObject::RayCast(lua_State*) in libplayer.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 libplayer.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 libplayer.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 libplayer.a(Rtt_CKWorkflow.o)
Rtt::LuaMap::LuaMap(lua_State*, int) in libplayer.a(Rtt_LuaContainer.o)
“std::ios_base::Init::Init()”, referenced from:
__GLOBAL__sub_I_Rtt_LuaData.cpp in libplayer.a(Rtt_LuaData.o)
“std::ios_base::Init::~Init()”, referenced from:
__GLOBAL__sub_I_Rtt_LuaData.cpp in libplayer.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 libplayer.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 libplayer.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 libplayer.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 libplayer.a(Rtt_ParticleSystemObject.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 libplayer.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::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> > const&) in libplayer.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 libplayer.a(Rtt_ShaderFactory.o)
…
“std::_Rb_tree_increment(std::_Rb_tree_node_base const*)”, referenced from:
Rtt::Scene::QueueUpdateOfUpdatables() in libplayer.a(Rtt_Scene.o)
“std::_Rb_tree_increment(std::_Rb_tree_node_base*)”, referenced from:
Rtt::EmitterObject::_Cleanup() in libplayer.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 libplayer.a(Rtt_CKWorkflow.o)
Rtt::ParticleSystemObject::_Cleanup() in libplayer.a(Rtt_ParticleSystemObject.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 libplayer.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 libplayer.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::_Rb_tree_iterator<std::pair<std::string const, int> >, std::pair<std::string const, int> const&) in libplayer.a(Rtt_ShaderFactory.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> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, Rtt::TextureFactory::CacheEntry> >, std::pair<std::string const, Rtt::TextureFactory::CacheEntry> const&) in libplayer.a(Rtt_TextureFactory.o)
…
“std::__throw_length_error(char const*)”, referenced from:
std::vector<b2Vec2, std::allocator<b2Vec2> >::_M_insert_aux(__gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, b2Vec2 const&) in libplayer.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 libplayer.a(SmoothPolygon.o)
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 libplayer.a(SmoothPolygon.o)
std::vector<std::vector<b2Vec2, std::allocator<b2Vec2> >, std::allocator<std::vector<b2Vec2, std::allocator<b2Vec2> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::vector<b2Vec2, std::allocator<b2Vec2> >*, std::vector<std::vector<b2Vec2, std::allocator<b2Vec2> >, std::allocator<std::vector<b2Vec2, std::allocator<b2Vec2> > > > >, std::vector<b2Vec2, std::allocator<b2Vec2> > const&) in libplayer.a(b2Separator.o)
std::vector<b2Vec2, std::allocator<b2Vec2> >::_M_insert_aux(__gnu_cxx::__normal_iterator<b2Vec2*, std::vector<b2Vec2, std::allocator<b2Vec2> > >, b2Vec2 const&) in libplayer.a(b2Separator.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 libplayer.a(Rtt_LuaLibPhysics.o)
std::vector<b2PolygonShape*, std::allocator<b2PolygonShape*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<b2PolygonShape**, std::vector<b2PolygonShape*, std::allocator<b2PolygonShape*> > >, b2PolygonShape* const&) in libplayer.a(Rtt_ParticleSystemObject.o)
…
“std::__throw_out_of_range(char const*)”, referenced from:
Rtt::ShaderName::ShaderName(char const*) in libplayer.a(Rtt_ShaderName.o)
“std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)”, referenced from:
Rtt::EmitterObject::_Cleanup() in libplayer.a(Rtt_EmitterObject.o)
Rtt::ParticleSystemObject::_Cleanup() in libplayer.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 libplayer.a(Rtt_TextureFactory.o)
Rtt::CPUResourcePool::DetachResource(Rtt::CPUResource*) in libplayer.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 libplayer.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 libplayer.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 libplayer.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 libplayer.a(Rtt_ParticleSystemObject.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 libplayer.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::pair<std::string const, Rtt::SharedPtr<Rtt::Shader> > const&) in libplayer.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 libplayer.a(Rtt_ShaderFactory.o)
…
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)