Imagination PowerVR SDK Blog

compiler errors saying no support for Armv7s



we are having some compiler errors when we updated the xcode to work out the requirement for apple to support armv7s. We are having compiler errors mostly pointing to CPVRTString class. please note that the build used to be successful for the previous platforms. This project currently is using PVR SDK 2.10.

If you confirm that these errors will be solved for your latest SDK, we will try and get back. But we wanted to know for sure, since we have to update a lot of changes which went into your SDK.

here is a view of the errors

ld: warning: ignoring file /externalSDK/SDKPackage_OGLES2/Tools/OGLES2/Build/iPhone/build/Debug-iphoneos/libOGLES2Tools.a, file was built for archive which is not the architecture being linked (armv7s): /externalSDK/SDKPackage_OGLES2/Tools/OGLES2/Build/iPhone/build/Debug-iphoneos/libOGLES2Tools.a

Undefined symbols for architecture armv7s:

“CPVRTString::operator<(CPVRTString const&) const”, referenced from:

std::less::operator()(CPVRTString const&, CPVRTString const&) const in libGLES2Renderer.a(GLES2Material-D6B1B214B2106638.o)

“CPVRTString::~CPVRTString()”, referenced from:

std::pair<CPVRTString const, SharedPtrAvighna::IGPUTextureData >::~pair() in libGLES2Renderer.a(GLES2Renderer-F543873935293645.o)

Avighna::GLES2::CGLES2MaterialData::CGLES2MaterialData(Avighna::MaterialCreationParams_t const&) in libGLES2Renderer.a(GLES2Material-D6B1B214B2106638.o)

Avighna::GLES2::GetOrCreateTextureFromParams(SharedPtrAvighna::IGPUTextureData&, Avighna::MaterialCreationParams_t::SetTextureParams_t&) in libGLES2Renderer.a(GLES2ShaderObject-760B5F9D64402734.o)

Avighna::GLES2::CGLES2ShaderObject::CGLES2ShaderObject(std::string const&) in libGLES2Renderer.a(GLES2ShaderObject-760B5F9D64402734.o)

std::pair<CPVRTString const, SharedPtrAvighna::IGPUTextureData >::pair<CPVRTString, SharedPtrAvighna::IGPUTextureData >(std::pair<CPVRTString, SharedPtrAvighna::IGPUTextureData > const&) in libGLES2Renderer.a(GLES2ShaderObject-760B5F9D64402734.o)

std::pair<CPVRTString const, SharedPtrAvighna::IGPUTextureData >::pair(std::pair<CPVRTString const, SharedPtrAvighna::IGPUTextureData > const&) in libGLES2Renderer.a(GLES2ShaderObject-760B5F9D64402734.o)

std::pair<CPVRTString, SharedPtrAvighna::IGPUTextureData >::pair(CPVRTString const&, SharedPtrAvighna::IGPUTextureData const&) in libGLES2Renderer.a(GLES2ShaderObject-760B5F9D64402734.o)



This is probably because the OGLES2 iOS Tools project requires the ‘architectures’ property to be updated to armv7s, as you updated your main project. If you don’t include the Tools project in your project’s workspace, open up the xcode project (which is in Tools/OGLES2/Build/iPhone), update the architecture property and then rebuild.

You shouldn’t need to update to the latest SDK - just update the project settings as required.