Undefined symbols for architecture i386: IOS 7.1

Discussion of issues specific to mobile platforms such as iOS, Android, Symbian and Meego.
Post Reply
sabotage3d
Gnoblar
Posts: 15
Joined: Sun Jul 20, 2014 10:01 pm

Undefined symbols for architecture i386: IOS 7.1

Post by sabotage3d »

Hello I have downloaded OgreSDK_iOS_v1-9-0.dmg . And I tried building the samples with the Xcode project provided targeting IOS 7.1 but I am getting the errors below. My guess is that the prebuilt libraries weren't for IOS 7.1 . This is some part of the errors here: http://codepad.org/ZG6LVKQS
Is it worth trying to built it from source ?

Code: Select all

Undefined symbols for architecture i386:
  "loadAllMaterialControlFiles(std::__1::vector<MaterialControls, Ogre::STLAllocator<MaterialControls, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >&)", referenced from:
      Sample_Ocean::setupContent() in SampleBrowser.o
  "Ogre::LogManager::logMessage(std::string const&, Ogre::LogMessageLevel, bool)", referenced from:
      DeferredShadingSystem::logCurrentMode() in libSample_DeferredShading.a(DeferredShading.o)
  "Ogre::StringUtil::toLowerCase(std::string&)", referenced from:
      GBufferSchemeHandler::checkNormalMap(Ogre::TextureUnitState*, GBufferSchemeHandler::PassProperties&) in libSample_DeferredShading.a(GBufferSchemeHandler.o)
  "Ogre::FontManager::getByName(std::string const&, std::string const&)", referenced from:
      OgreBites::TextBox::setText(Ogre::UTFString const&) in libSample_VolumeCSG.a(VolumeCSG.o)
      OgreBites::Widget::getCaptionWidth(Ogre::UTFString const&, Ogre::TextAreaOverlayElement*) in libSample_VolumeCSG.a(VolumeCSG.o)
      OgreBites::TextBox::setText(Ogre::UTFString const&) in libSample_ShaderSystem.a(ShaderSystem.o)
      OgreBites::Widget::getCaptionWidth(Ogre::UTFString const&, Ogre::TextAreaOverlayElement*) in libSample_ShaderSystem.a(ShaderSystem.o)
      OgreBites::Widget::fitCaptionToArea(Ogre::UTFString const&, Ogre::TextAreaOverlayElement*, float) in libSample_ShaderSystem.a(ShaderSystem.o)
      OgreBites::Widget::getCaptionWidth(Ogre::UTFString const&, Ogre::TextAreaOverlayElement*) in libSample_NewInstancing.a(NewInstancing.o)
      OgreBites::Widget::fitCaptionToArea(Ogre::UTFString const&, Ogre::TextAreaOverlayElement*, float) in libSample_NewInstancing.a(NewInstancing.o)
...
deepchand
Gnoblar
Posts: 6
Joined: Sat May 04, 2013 12:41 pm

Re: Undefined symbols for architecture i386: IOS 7.1

Post by deepchand »

EVen i had experienced issues like this..

The make_ios.sh script creates a FAT library for both device & Simulator architecture...But it didn't serve me the purpose..
The FAT lib was not linking properly for only 1 platfom.

Then i commented out the following line
#rm -rf $SDKBUILDDIR/build/sdk/lib/iphoneos $SDKBUILDDIR/build/sdk/lib/iphonesimulator $SDKBUILDDIR/build/sdk/lib/Debug

Now when you run make_ios.sh, you will have two libs folder iphoneos/iphonesimulator.

Create 2 targets on Xcode, one for Simulator & other for device - Add the corresponding Library search paths..

I will have to investigate why LIPO & FAT libs are nt linking properly.
Post Reply