I decided to try building MyGUI against the latest Ogre 1.11 in hg and got the following error. I'm not sure if the fault lies in Ogre or MyGUI but I can build just fine with the Ogre 1.10.11 branch. Any help is appreciated.
> mingw32-make
[ 90%] Built target MyGUIEngine
[ 90%] Building CXX object Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataManager.cpp.obj
In file included from d:/nextcloud/builds/sources/ogre-1.11/OgreMain/include/OgrePlatform.h:31:0,
from d:/nextcloud/builds/sources/ogre-1.11/OgreMain/include/OgrePrerequisites.h:30,
from d:/nextcloud/builds/sources/ogre-1.11/OgreMain/include/OgreDataStream.h:31,
from D:/nextcloud/builds/sources/mygui/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreDataStream.h:13,
from D:\nextcloud\builds\sources\mygui\Platforms\Ogre\OgrePlatform\src\MyGUI_OgreDataManager.cpp:9:
d:/nextcloud/builds/sources/ogre-1.11/OgreMain/include/OgreConfig.h:35:10: fatal error: OgreBuildSettings.h: No such file or directory
#include "OgreBuildSettings.h"
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
mingw32-make[2]: *** [Platforms\Ogre\OgrePlatform\CMakeFiles\MyGUI.OgrePlatform.dir\build.make:63: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataManager.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:158: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/all] Error 2
mingw32-make: *** [Makefile:129: all] Error 2
[ 91%] Building CXX object Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRTTexture.cpp.obj
In file included from D:\nextcloud\builds\sources\mygui\Platforms\Ogre\OgrePlatform\src\MyGUI_OgreRTTexture.cpp:9:0:
D:/nextcloud/builds/sources/mygui/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRenderManager.h:25:35: error: expected class-name before ',' token
public Ogre::WindowEventListener,
[ 91%] Building CXX object Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRenderManager.cpp.obj
D:\nextcloud\builds\sources\mygui\Platforms\Ogre\OgrePlatform\src\MyGUI_OgreRenderManager.cpp: In member function 'void MyGUI::OgreRenderManager::setRenderSystem(Ogre::RenderSystem*)':
D:\nextcloud\builds\sources\mygui\Platforms\Ogre\OgrePlatform\src\MyGUI_OgreRenderManager.cpp:115:24: error: 'class Ogre::RenderSystem' has no member named 'getFixedPipelineEnabled'; did you mean 'setLightingEnabled'?
if (!mRenderSystem->getFixedPipelineEnabled())
^~~~~~~~~~~~~~~~~~~~~~~
setLightingEnabled
D:\nextcloud\builds\sources\mygui\Platforms\Ogre\OgrePlatform\src\MyGUI_OgreRenderManager.cpp: In member function 'virtual void MyGUI::OgreRenderManager::begin()':
D:\nextcloud\builds\sources\mygui\Platforms\Ogre\OgrePlatform\src\MyGUI_OgreRenderManager.cpp:344:22: error: 'class Ogre::RenderSystem' has no member named 'getFixedPipelineEnabled'; did you mean 'setLightingEnabled'?
if (mRenderSystem->getFixedPipelineEnabled())
^~~~~~~~~~~~~~~~~~~~~~~
setLightingEnabled
mingw32-make[2]: *** [Platforms\Ogre\OgrePlatform\CMakeFiles\MyGUI.OgrePlatform.dir\build.make:138: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRenderManager.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:158: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/all] Error 2
mingw32-make: *** [Makefile:129: all] Error 2
I couldn't find a reference to getFixedPipelineEnabled in the 1.11 headers but in 1.10.11 I found the following:
Is there a possible workaround for this? I'm not super familiar with the internals of the MyGUI codebase. But unless there is another GUI that works well with 1.1x on Android as well as windows and linux I would prefer to keep MyGUI working.
I will take a look at imgui when I get some time. In the meantime thanks for the work on getting mygui patched for 1.11. I will try it soon. Then hopefully I can get everything to build for android.