Page 1 of 1

Ogre 1.10.8 iOS build errors

Posted: Fri Oct 06, 2017 9:34 am
by elisagroup
Hi guys! I'm trying to build Ogre version 1.10.8 (tagged in the repository). I'm using latest XCode 9.0 and CMake 3.9.3. Configure and project generation steps work just fine.
When I open the generated project and start to build it i get the error in OgreDynLib.cpp on line 103: Use of undeclared identifier 'mac_loadFramework'.
Corresponding fragment of code looks like this:

Code: Select all

mInst = (DYNLIB_HANDLE)FRAMEWORK_LOAD( mName )
and FRAMEWORK_LOAD is expanded to mac_loadFramework. iOS version of macUtils.h/mm (the one found in OgreMain/include/iOS dir) doesn't seem to contain this method, it's only in macUtils.h version that is under OSX dir. Ogre versions 1.8 and 1.9 builds just fine. Am I missing some step when configuring Ogre 1.10.8? Any help would be greatly appreciated

EDIT: seems the issue is OGRE_PLATFORM having the value of OGRE_PLATFORM_APPLE. Trying to check how it got there...

Re: Ogre 1.10.8 iOS build errors

Posted: Fri Oct 06, 2017 10:52 am
by elisagroup
The issue seems to be with __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ macro used in OgrePlatform.h:

Code: Select all

#   if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60000 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
#       define OGRE_PLATFORM OGRE_PLATFORM_APPLE_IOS
#   else
#       define OGRE_PLATFORM OGRE_PLATFORM_APPLE
#   endif
When building Ogre 1.9, __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ is expanded to 60000 but with 1.10.8 the value of the macro is " __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__" without quotes. What could be the cause of this?

Re: Ogre 1.10.8 iOS build errors

Posted: Fri Oct 06, 2017 11:51 am
by elisagroup
Ok. using the following...

Code: Select all

cmake -DOGRE_BUILD_PLATFORM_APPLE_IOS:BOOL=TRUE -DIOS_PLATFORM=SIMULATOR -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain/ios.toolchain.xcode.cmake -DAPPLE_IOS:BOOL=TRUE -DOGRE_DEPENDENCIES_DIR="path to dependencies" -G Xcode ..
will generate an xcode project that builds without errors