Compiling Ogre with VS2013 (RC, then RTM)
Posted: Wed Sep 11, 2013 7:31 pm
Today I decided to try see the cost of converting my project to VS2013. To my surprise it was far easier than VS2010->VS2012 (except having to get Boost from trunk and recompile all of it completely). Here is the part relative to Ogre:
1. Very Good News: Ogre 1.9 sources (2f4fcc6507123ac6eca1ede7da4af45c736542c9) compiles (32bit) and run just fine in my current setup without any modification to the sources nor CMake! Congrats!
2. Less Good News: Ogre Dependencies don't compile but the fix is easy - basically min() and max() calls in FreeImage are missing inclusion of the algorithm header in several CPP files (I suppose it's not missing in FreeImage headers as these headers don't seem to expose standard C++ headers). The following is the list of the cpp files that need to add '#include <algorithm>', as I don't know exactly where it should be reported, here or in the repo or to FreeImage (is it directly taken from them or is it a modified version?):
ImfAcesFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfOutputFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfScanLineInputFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfTiledMisc.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfTiledOutputFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
3. Once this is fixed, my app seems to run the same way than with VS2012, so I guess that's a success.
4. However I didn't try to compile the full Ogre sources, with samples, yet. I'm preparing to do so (also to hunt another bug I pointed there: http://www.ogre3d.org/forums/viewtopic.php?f=2&t=78894).
I'll report here if I find more errors.
1. Very Good News: Ogre 1.9 sources (2f4fcc6507123ac6eca1ede7da4af45c736542c9) compiles (32bit) and run just fine in my current setup without any modification to the sources nor CMake! Congrats!
2. Less Good News: Ogre Dependencies don't compile but the fix is easy - basically min() and max() calls in FreeImage are missing inclusion of the algorithm header in several CPP files (I suppose it's not missing in FreeImage headers as these headers don't seem to expose standard C++ headers). The following is the list of the cpp files that need to add '#include <algorithm>', as I don't know exactly where it should be reported, here or in the repo or to FreeImage (is it directly taken from them or is it a modified version?):
ImfAcesFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfOutputFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfScanLineInputFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfTiledMisc.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
ImfTiledOutputFile.cpp in ogre_dependencies\src\FreeImage\Source\OpenEXR\IlmImf
3. Once this is fixed, my app seems to run the same way than with VS2012, so I guess that's a success.
4. However I didn't try to compile the full Ogre sources, with samples, yet. I'm preparing to do so (also to hunt another bug I pointed there: http://www.ogre3d.org/forums/viewtopic.php?f=2&t=78894).
I'll report here if I find more errors.