Link errors with libplayer.a

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)

I’m using today’s build 2697, and have tried 2669, 2692 and 2646.

I’m building to an iPad 2.

-Tom

Did you change the min deployment target to 8.0?

The min deployment target affects what Xcode uses as the default  C++ standard library.

If you chance the min deployment target from 6.0 (which is the original value for all CoronaEnterprise sample projects) to 8.0, Xcode will use a different default C++ standard library:

For 6.0, it’s (libstdc+). This is what Corona assumes.

For 8.0, it’s (libc++).

So in your case, you’ll need to change the C++ Standard Library setting to GNU/libstdc++.

Walter,

That worked! 

Thank you!

-Tom

I’m using today’s build 2697, and have tried 2669, 2692 and 2646.

I’m building to an iPad 2.

-Tom

Did you change the min deployment target to 8.0?

The min deployment target affects what Xcode uses as the default  C++ standard library.

If you chance the min deployment target from 6.0 (which is the original value for all CoronaEnterprise sample projects) to 8.0, Xcode will use a different default C++ standard library:

For 6.0, it’s (libstdc+). This is what Corona assumes.

For 8.0, it’s (libc++).

So in your case, you’ll need to change the C++ Standard Library setting to GNU/libstdc++.

Walter,

That worked! 

Thank you!

-Tom