I am no Windows developer, but to me it looks like your MyGUI configuration isn't correct. Also, the error you are getting seems to be related to the debug build. Maybe try release first? (only guessing here)
Zini wrote:I am no Windows developer, but to me it looks like your MyGUI configuration isn't correct. Also, the error you are getting seems to be related to the debug build. Maybe try release first? (only guessing here)
After compiling release it seems to have gotten rid of it. I'm busy sorting out MyGUI now that this issue is behind me. What should MYGUI_LIBRARIES and MYGUI_PLATFORM_LIBRARIES be set to?
The library folder and the include folder is pretty straight forward. MyGUI has also compiled without issue once I got all it's dependencies.
Try setting MYGUI_LIBRARIES to "MyGUIEngine;Plugin_StrangeButton;MyGUI.OgrePlatform;Common"
My MYGUI_PLATFORM_LIBRARIES is blank
I am on windows, but VS2010.
EDIT: In case you need it for the MYGUI_INCLUDE_DIRS
C:\gui\MyGUIEngine\include;C:\gui\Platforms\Ogre\OgrePlatform\include
Obviously it will be different depending on where your mygui is stored.
Ok now that MyGUI is set up I tried compiling on release again. Still getting a lot of errors I was previously getting. All are undeclared identifiers in loadland.cpp. Anyone encountered these before?
Hmm, not sure. Could you post the output from cmake, and the output from building in visual studio?
May have encountered some of these before, but it has been so long since I have messed with Cmake and setting up libraries. Have been using the same build folders for months.
OpenMW pre-built binaries not found. Using standard locations.
Looking for OGRE...
Found Ogre Byatis (1.8.0)
Found OGRE: optimized;C:/GameDev/OgreSDK/lib/release/OgreMain.lib;debug;C:/GameDev/OgreSDK/lib/debug/OgreMain_d.lib
Looking for OGRE_Paging...
Found OGRE_Paging: optimized;C:/GameDev/OgreSDK/lib/release/OgrePaging.lib;debug;C:/GameDev/OgreSDK/lib/debug/OgrePaging_d.lib
Looking for OGRE_Terrain...
Found OGRE_Terrain: optimized;C:/GameDev/OgreSDK/lib/release/OgreTerrain.lib;debug;C:/GameDev/OgreSDK/lib/debug/OgreTerrain_d.lib
Looking for OGRE_Property...
Found OGRE_Property: optimized;C:/GameDev/OgreSDK/lib/release/OgreProperty.lib;debug;C:/GameDev/OgreSDK/lib/debug/OgreProperty_d.lib
Looking for OGRE_RTShaderSystem...
Found OGRE_RTShaderSystem: optimized;C:/GameDev/OgreSDK/lib/release/OgreRTShaderSystem.lib;debug;C:/GameDev/OgreSDK/lib/debug/OgreRTShaderSystem_d.lib
Looking for MyGUI
libraries : MyGUIEngine;Plugin_StrangeButton;MyGUI.OgrePlatform;Common from C:/GameDev/MyGUI - Build/lib
includes : C:/GameDev/MyGUI_3.2.0/MyGUIEngine/include;C:/GameDev/MyGUI_3.2.0/Platforms/Ogre/OgrePlatform/include
Looking for OIS...
Found OIS: optimized;C:/GameDev/OgreSDK/lib/release/OIS.lib;debug;C:/GameDev/OgreSDK/lib/debug/OIS_d.lib
Configuring done
Generating done
Vis Studio:
1>c:\gamedev\openmw\components\esm\loadland.hpp(51) : error C2146: syntax error : missing ';' before identifier 'heightData'
1>c:\gamedev\openmw\components\esm\loadland.hpp(51) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\gamedev\openmw\components\esm\loadland.hpp(51) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\gamedev\openmw\components\esm\loadland.hpp(57) : error C2146: syntax error : missing ';' before identifier 'VNML'
1>c:\gamedev\openmw\components\esm\loadland.hpp(57) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\gamedev\openmw\components\esm\loadland.hpp(57) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\gamedev\openmw\components\esm\loadland.hpp(64) : error C2146: syntax error : missing ';' before identifier 'textures'
1>c:\gamedev\openmw\components\esm\loadland.hpp(64) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\gamedev\openmw\components\esm\loadland.hpp(64) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>..\..\OpenMW\components\esm\loadland.cpp(99) : error C2039: 'heightData' : is not a member of 'ESM::Land::VHGT'
1> c:\gamedev\openmw\components\esm\loadland.hpp(49) : see declaration of 'ESM::Land::VHGT'
1>..\..\OpenMW\components\esm\loadland.cpp(105) : error C2039: 'heightData' : is not a member of 'ESM::Land::VHGT'
1> c:\gamedev\openmw\components\esm\loadland.hpp(49) : see declaration of 'ESM::Land::VHGT'
1>..\..\OpenMW\components\esm\loadland.cpp(122) : error C2065: 'uint16_t' : undeclared identifier
1>..\..\OpenMW\components\esm\loadland.cpp(122) : error C2146: syntax error : missing ';' before identifier 'vtex'
1>..\..\OpenMW\components\esm\loadland.cpp(122) : error C2065: 'vtex' : undeclared identifier
1>..\..\OpenMW\components\esm\loadland.cpp(123) : error C2065: 'vtex' : undeclared identifier
1>..\..\OpenMW\components\esm\loadland.cpp(130) : error C2039: 'textures' : is not a member of 'ESM::Land::LandData'
1> c:\gamedev\openmw\components\esm\loadland.hpp(60) : see declaration of 'ESM::Land::LandData'
1>..\..\OpenMW\components\esm\loadland.cpp(130) : error C2065: 'vtex' : undeclared identifier
1>..\..\OpenMW\components\esm\loadland.cpp(135) : error C2039: 'textures' : is not a member of 'ESM::Land::LandData'
1> c:\gamedev\openmw\components\esm\loadland.hpp(60) : see declaration of 'ESM::Land::LandData'
1>..\..\OpenMW\components\esm\loadland.cpp(135) : error C2065: 'uint16_t' : undeclared identifier
1>..\..\OpenMW\components\esm\loadland.cpp(135) : error C2070: ''unknown-type'': illegal sizeof operand
1>store.cpp
That's about the extent of it. All other errors in the Vis Studio build process are related to these from the looks of things.
You are building in debug correct? That could be the problem, the mygui libraries I listed may only work in release mode (I have only been building in release). Sorry about that.
You could try building in release or try setting the mygui cmake variables to something proper for debug mode. Sorry for any confusion, I am a newb with setting cmake stuff up myself.
Actually it looks like your compiler somehow doesn't see the content of the libs/plattform headers. Which is puzzling. There is no error message in your log about missing headers, so I assume the include does not fail.
The header that is causing you problems seems to be this one:
#ifndef _STDINT_WRAPPER_H
#define _STDINT_WRAPPER_H
#if (_MSC_VER >= 1600)
#include <cstdint>
#else
#include <boost/cstdint.hpp>
// Pull the boost names into the global namespace for convenience
using boost::int32_t;
using boost::uint32_t;
using boost::int64_t;
using boost::uint64_t;
#endif
#endif
So the first thing to check should be the value of _MSC_VER on your compiler.
Also, MYGUI_LIBRARIES and MYGUI_PLATFORM_LIBRARIES should be set to the red text that CMake outputs after a successful configuration (It should be set automagically but that doesn't seem to happen).
I'll be happy to upload a picture or pastebin of my CMake if that'll help?