Linker Problems Building on iOS ARM V7
Posted: Sat Dec 15, 2012 1:59 am
Greetings,
I am trying to build Ogre3d 1.8.1 on iOS using Xcode 4.5.2 and I am getting a lot of linker issues that I was hoping you gentlemen could help me work out. I used CMAKE to generate the Xcode project as I read in several tutorials:
As a result stuff builds but then fails to link:
Any help would be appreciated.
Edit: I am also getting a ton of semantic warnings about virtual function overrides. That leads me to think there is a config problem? For example:
I would love to get this into a static framework that i can use. I have templates that can create an iOS framework but I cant even think about using them til I get this built. I am a pure end user, not interested in extending Ogre3d.
I am trying to build Ogre3d 1.8.1 on iOS using Xcode 4.5.2 and I am getting a lot of linker issues that I was hoping you gentlemen could help me work out. I used CMAKE to generate the Xcode project as I read in several tutorials:
Code: Select all
cmake -D OGRE_BUILD_PLATFORM_APPLE_IOS=1 -G Xcode
Code: Select all
ld: warning: directory not found for option '-L/Users/rsimmons/Software/OgreSDK/lib/Debug-iphoneos'
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_BezierPatch.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_BezierPatch.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_CameraTrack.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_CameraTrack.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Character.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Character.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Compositor.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Compositor.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_DualQuaternion.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_DualQuaternion.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_DynTex.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_DynTex.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_FacialAnimation.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_FacialAnimation.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Grass.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Grass.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Instancing.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Instancing.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Lighting.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Lighting.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_NewInstancing.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_NewInstancing.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Ocean.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Ocean.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_ParticleFX.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_ParticleFX.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Shadows.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Shadows.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkeletalAnimation.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkeletalAnimation.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkyBox.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkyBox.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkyDome.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkyDome.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkyPlane.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SkyPlane.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Smoke.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Smoke.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SphereMapping.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SphereMapping.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_TextureFX.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_TextureFX.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_TextureArray.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_TextureArray.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Transparency.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Transparency.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_VolumeTex.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_VolumeTex.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Water.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Water.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_BSP.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_BSP.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_CelShading.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_CelShading.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_DeferredShading.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_DeferredShading.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_CubeMapping.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_CubeMapping.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Dot3Bump.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Dot3Bump.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Fresnel.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Fresnel.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Isosurf.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_Isosurf.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_ParticleGS.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_ParticleGS.a
ld: warning: ignoring file /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SSAO.a, file was built for archive which is not the architecture being linked (armv7s): /Users/rsimmons/Software/OgreSDK/lib/Debug/libSample_SSAO.a
Undefined symbols for architecture armv7s:
"Ogre::Singleton<SharedData>::msSingleton", referenced from:
Ogre::Singleton<SharedData>::getSingleton() in SampleBrowser.o
Ogre::Singleton<SharedData>::getSingletonPtr() in SampleBrowser.o
Ogre::Singleton<SharedData>::~Singleton() in SampleBrowser.o
Ogre::Singleton<SharedData>::Singleton() in SampleBrowser.o
"boost::system::system_category()", referenced from:
boost::thread_exception::thread_exception(int, char const*) in SampleBrowser.o
___cxx_global_var_init3 in SampleBrowser.o
___cxx_global_var_init3 in FileSystemLayerImpl_iOS.o
__GLOBAL__I_a in libOgreMainStatic.a(OgreCompositor.o)
__GLOBAL__I_a in libOgreMainStatic.a(OgreConfigFile.o)
__GLOBAL__I_a in libOgreMainStatic.a(OgreLogManager.o)
__GLOBAL__I_a in libOgreMainStatic.a(OgreQuaternion.o)
...
"WaterMesh::updateMesh(float)", referenced from:
Sample_Water::frameRenderingQueued(Ogre::FrameEvent const&) in SampleBrowser.o
"DeferredShadingSystem::initialize()", referenced from:
Sample_DeferredShading::setupContent() in SampleBrowser.o
"vtable for GaussianBlurLogic", referenced from:
GaussianBlurLogic::GaussianBlurLogic() in SampleBrowser.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"GeomUtils::createSphere(std::string const&, float, int, int, bool, bool)", referenced from:
Sample_DeferredShading::createSampleLights() in SampleBrowser.o
"DeferredShadingSystem::DeferredShadingSystem(Ogre::Viewport*, Ogre::SceneManager*, Ogre::Camera*)", referenced from:
Sample_DeferredShading::setupContent() in SampleBrowser.o
"DeferredShadingSystem::setSSAO(bool)", referenced from:
Sample_DeferredShading::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
"vtable for HeatVisionLogic", referenced from:
HeatVisionLogic::HeatVisionLogic() in SampleBrowser.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"DeferredShadingSystem::POST_GBUFFER_RENDER_QUEUE", referenced from:
Sample_DeferredShading::createSampleLights() in SampleBrowser.o
"Sample_ShaderSystem::Sample_ShaderSystem()", referenced from:
OgreBites::SampleBrowser::setup() in SampleBrowser.o
"loadAllMaterialControlFiles(std::vector<MaterialControls, Ogre::STLAllocator<MaterialControls, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >&)", referenced from:
Sample_Ocean::setupContent() in SampleBrowser.o
"Sample_NewInstancing::Sample_NewInstancing()", referenced from:
OgreBites::SampleBrowser::setup() in SampleBrowser.o
"vtable for HDRLogic", referenced from:
HDRLogic::HDRLogic() in SampleBrowser.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"DeferredShadingSystem::setMode(DeferredShadingSystem::DSMode)", referenced from:
Sample_DeferredShading::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
"boost::system::generic_category()", referenced from:
___cxx_global_var_init1 in SampleBrowser.o
___cxx_global_var_init2 in SampleBrowser.o
___cxx_global_var_init1 in FileSystemLayerImpl_iOS.o
___cxx_global_var_init2 in FileSystemLayerImpl_iOS.o
__GLOBAL__I_a in libOgreMainStatic.a(OgreCompositor.o)
__GLOBAL__I_a in libOgreMainStatic.a(OgreConfigFile.o)
__GLOBAL__I_a in libOgreMainStatic.a(OgreLogManager.o)
...
"WaterMesh::push(float, float, float, bool)", referenced from:
Sample_Water::processParticles() in SampleBrowser.o
Sample_Water::animateHead(float) in SampleBrowser.o
"WaterMesh::WaterMesh(std::string const&, float, int)", referenced from:
Sample_Water::setupContent() in SampleBrowser.o
"DeferredShadingSystem::setActive(bool)", referenced from:
Sample_DeferredShading::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Edit: I am also getting a ton of semantic warnings about virtual function overrides. That leads me to think there is a config problem? For example:
Code: Select all
/Users/xx/Software/OgreSDK/include/OGRE/OgreMeshSerializerImpl.h:174:22: 'Ogre::MeshSerializerImpl::flipToLittleEndian' hides overloaded virtual function