Make sure that Cmake and the project are both installed in a folder with no spaces and latin characters only.
Compiler Specific Prerequisites
Visual Studio
Best thing is to start with the latest version of Visual Studio.
Download Download 'Visual Studio Community Free' from https://www.visualstudio.com/downloads and run vs_community_ENU.exe (installation takes about half and hour)
MinGW
Get the latest MinGW installer from here and install MinGW.
Make sure to include the C++ compiler (it is the only required compiler for Ogre, but installing all of them doesn't hurt).
You most likely do not want the full "MinGW Developer Toolkit", but you should check the "MSYS Basic System".
Install it to C:\mingw.
Also add C:\mingw\bin to your PATH. The installer might ask if it should do that for you, but if you did not install with admin rights, this likely did not work. In any case, you should check and make sure it is correctly added to your PATH.
Boost
Boost is not required to build Ogre - it's optional. ๐
The Boost Threads library is used by the paging component, which in turn is used by the terrain component, enabling background loading and thus faster response times.
It's recommended to get at least Boost version 1.49.0 or newer.
Also, around the same boost version, bjam was renamed to b2, so don't be confused if newer boost manuals require you to use "b2" instead of "bjam" when building. It's actually the same.
Lucky users of Visual Studio 2003 - 2010 can use the Boostpro Boost Installers.
Select your compiler and "Multithreaded" and "Multithreaded Debug".
Be sure to install Boost Date Time and Boost Thread. The default selection (all) makes sure it's installed.
CMake depends on the following environment variables to find Boost successfully: BOOST_ROOT (C:\Program Files\boost\boost_1_49) BOOST_INCLUDEDIR (C:\Program Files\boost\boost_1_49) BOOST_LIBRARYDIR (C:\Program Files\boost\boost_1_49\lib)
Well, at least BOOST_ROOT, but it can't hurt to set the two others.
Building boost from source
As boostpro is not always up-to-date with the newest boost versions, you sometimes might want to build boost from sources yourself.
MinGW users will always have to build boost from sources.
Get Boost from www.boost.org and the b2 executable as detailed on the Boost compile page and follow the chapter 5.2 as a guide on how to build boost from source. For MinGW users: When asked to run "bootstrap.bat", make sure to run "bootstrap.bat gcc" instead.
As an example, this line builds Boost date_time and thread using VC10: Use the Visual Studio Command Prompt when issuing the command.
If you just want all of boost installed, just do the same command without "-with-date_time -with-thread"
When done building, move the contents of boost_dir/stage/lib to boost_dir/lib.
If you are sure you're not going to rebuild Boost, you can safely delete the build directory (i.e. C:\boost-vc10)
DirectX
To build Ogre on Windows you'll need the DirectX SDK. As of the release of Windows 8, DirectX is no longer a standalone package, rather it is bundled in the Windows 8.x SDK (latest version is the Windows 8.1 SDK.)
A repository containing a all sources of the Ogre dependencies (along with the necessary CMake scripts) is available here at Bitbucket. Make sure to read our CMake Guide if you haven't yet.
The following two links are outdated and only relevant for Ogre 1.7. It is probably the best to simply build the dependencies using the repository and CMake as described above. But you may of course try to use them: Visual Studio users need to compile the dependencies themselves: Visual Studio Dependencies MinGW users can grab the precompiled MinGW Dependencies
Unpack the dependencies into either your Ogre source directory, your Ogre build directory or somewhere else.
The directory should be named Dependencies if put either into the source or the build directory (this ensures that the Ogre CMake scripts should automatically find and user it).
If you choose to place it elsewhere, you can name it however you like, as long as you're setting an environment variable OGRE_DEPENDENCIES_DIR pointing to its location.
It's recommended to use the last option - OGRE_DEPENDENCIES_DIR - as it makes it easier to manage several different dependencies (VC9, VC10, MinGW, etc.) on the same computer, against the same Ogre source directory.
Additional information for OIS linking error with dxguid.lib can be found in the forums.
Building FreeImage with Visual Studio once was buggy (_ITERATOR_DEBUG_LEVEL bug). If you experience any issues, you can compile FreeImage in the following way:
Build the full FreeImage packet on Debug for all platforms
Switch actual configuration to Release
Save the project map and close VS
Delete all temporary folders of the project (look for "Intermediate Directory")
Start VS and load FreeImage project
Build the full FreeImage packet on Release for all platforms
-(Linux)-
Before you begin
Ogre does not play well with "Software Rasterizers", so if you run glxinfo | grep Software and it finds "OpenGL renderer string: Software Rasterizer", you may need to investigate upgrading your graphics card or its drivers. See jockey-gtk on Ubuntu for driver help.
The easiest way to get Ogre is to install via package manager, e.g. sudo apt-get install libogre-1.9-dev
Check Ogre Versions
However, this may be out of date, e.g. for Ubuntu 10.04 only Ogre 1.6.4 is available, although the latest release is 1.7.1. Ogre 1.9 is available for Ubuntu 14.4.
If you want the latest version of Ogre, follow the directions below and then the CMake Quick Start Guide
Option 1: Extract the dependencies into your Ogre source root. Precompiled archive containing PPC and i386 binaries compiled against the 10.4u SDK are available: OS X Dependencies (link is only valid for Ogre version 1.7). A larger selection of precompiled dependency packages including more recent updates and iOS packages can be browsed to from the ogre-dependencies-mac page.
Option 2: Install Ogre dependencies system-wide via MacPorts. Be forewarned if you intend to distribute binaries, you may have to jump through a few hoops to link against the static archives (.a) or extract the dynamic libraries and modify their install name (install_name_tool). However individual developers may find this easier to manage on their local machines for general development.
Copy to clipboard
sudo port install libpng +universal jpeg +universal libxml2 +universal
sudo port install pkgconfig xmlto autoconf automake libtool
sudo port install freetype +universal freeimage +universal libzzip +universal boost +universal ois +universal
sudo port install cmake
Ogre3D requires a 32 bit build due to use of Carbon interfaces via OIS. Thus the +universal specifications to ensure 32 and 64 bit builds for libraries.
You need the first line even if you already have libpng/jpeg/xml2 installed because they will be re-installed within the package system and we need to ensure universal build. You may need --enforce-variants if you have already installed these packages.
The second line is the build dependencies of libzzip, they do not need to be universal, but use +no_x11 +quartz to avoid unnecessary additional packages
Finally, from the terminal:
Copy to clipboard
touch ~/.bash_profile
open -a TextEdit ~/.bash_profile