History: Prerequisites
Source of version: 55
- «
- »
Copy to clipboard
{BOX(width="100%",class="Layout_box9")}{SPLIT(colsize=10%|70%)}{IMG(fileId="1711",imalign="left",link="Prerequisites",title="Prerequisites")}{IMG}
---
{DIV(class="bigBold")}((Prerequisites)){DIV}
What you need to build Ogre from source.
{SPLIT}{BOX}
!!Introduction
This is a small check list of things you need to do before you're ready to ((Building Ogre|build Ogre from source)).
{maketoc}
{VERSIONS(nav="y",title="y",default="Microsoft Windows")}
%clear%
{SPLIT(colsize=10%|70%)}{IMG(src="img/wiki_up/Big_Logo_Windows.jpg",height="66",width="66",imalign="left")}{IMG}
---
!! %done% Compiler Specific Prerequisites
!!! %done% Visual Studio
You need the latest service packs for your version of Visual Studio:
|| Visual Studio 2008 (VC9) | Service pack 1 __and__ the ATL security fix (available from Microsoft Update).
Visual Studio 2005 (VC8) | Service pack 1 ||
Visual Studio Express users should install the latest Express edition as separate service pack installs for those aren't available.
Get it from [http://www.microsoft.com/express/Downloads/].
----
!!! %done% MinGW
You need to grab the latest MinGW GCC from Twilight Dragon Media:
[http://www.tdragon.net/recentgcc/|http://www.tdragon.net/recentgcc/]
At this time of writing, it's tdm-mingw-1.908.0-4.4.1-2, based on GCC 4.4.1.
The official MinGW won't do. It must be based on GCC 4.4.x.
Install it to {MONO()}C:\mingw{MONO} and add {MONO()}C:\mingw\bin{MONO} to your PATH.
----
!! %done% DirectX SDK
You need to install the DirectX SDK if you intend to build and use the Direct3D render systems and/or OIS (for the samples).
The [http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15|DirectX SDK - February 2010] would be an excellent choice, as both Visual Studio and MinGW builds successfully against it.
When installed, it should have registered an environment variable called {MONO()}DXSDK_DIR{MONO}.
You can check this by running ''set DXSDK_DIR'' in a command prompt:
{CODE(wrap="1")}C:\>set DXSDK_DIR
DXSDK_DIR=C:\Program Files\Microsoft DirectX SDK (February 2010)\{CODE}
If the environment variable {MONO()}DXSDK_DIR{MONO} isn't present or set, you need to set it as CMake depends on it for finding DirectX.
----
!! %done% Boost
Boost is not required to build Ogre - it's optional. (:smile:)
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 Boost 1.42.0.
Lucky users of Visual Studio 2003 - 2008 can use the [http://www.boostpro.com/download|Boostpro Boost Installers]. Be sure to install Boost Date Time and Boost Thread.
Users of Visual Studio 2010 and MinGW need to build Boost from source.
Get Boost 1.42.0 from [http://www.boost.org/|www.boost.org] and the bjam executable as detailed on [http://www.boost.org/doc/libs/1_42_0/more/getting_started/windows.html|the Boost compile page].
This line builds Boost date_time and thread using VC10:
{CODE(wrap="1")}bjam --build-dir="C:\boost-vc10" toolset=msvc-10.0 --build-type=complete --with-date_time --with-thread{CODE}
%note% Use the Visual Studio Command Prompt when issuing the command.
When done building, move the contents of ''build_dir/stage/lib'' to ''boost_dir/lib''.
CMake depends on the following environment variables to find Boost succesfully:
{MONO()}BOOST_ROOT{MONO} (''C:\Program Files\boost\boost_1_42'')
{MONO()}BOOST_INCLUDEDIR{MONO} (''C:\Program Files\boost\boost_1_42'')
{MONO()}BOOST_LIBRARYDIR{MONO} (''C:\Program Files\boost\boost_1_42\lib'')
Well, at least {MONO()}BOOST_ROOT{MONO}, but it can't hurt to set the two others.
----
!! %done% Dependencies
Visual Studio users need to compile the dependencies themselves: [https://sourceforge.net/projects/ogre/files/ogre-dependencies-vc%2B%2B/1.7/OgreDependencies_MSVC_20100501.zip/download|Visual Studio Dependencies]
MinGW users can grab the precompiled [https://sourceforge.net/projects/ogre/files/ogre-dependencies-mingw/1.7/OgreDependencies_MinGW_20100216.zip/download|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 into either the source or the build directory.
If you choose to place it elsewhere, you can name it however you like, as long as you're setting an environment variable {MONO()}OGRE_DEPENDENCIES_DIR{MONO} pointing to its location.
It's recommended to use the last option - {MONO()}OGRE_DEPENDENCIES_DIR{MONO} - as it makes it easier to manage several different dependencies (vc9, vc10, mingw) on the same computer, against the same Ogre source directory.
%warning2% Be sure to ''build'' the dependencies if using Visual Studio! Find the solution file in ''Dependencies/src''. And don't forget to build in both configurations: debug and release.
{SPLIT}
---(Linux)---
{SPLIT(colsize=10%|70%)}{IMG(src="img/wiki_up/Big_Logo_Linux.jpg",height="66",width="66",imalign="left")}{IMG}
---
!! %done% Ubuntu
{img src="img/wiki_up/Ubuntu_logo.png" alt="" imalign="right"}
For Ubuntu Karmic and above:
{CODE(caption="Compiler And Configuration Tools",wrap="1",colors="bash")}sudo apt-get install build-essential automake libtool{CODE}
{CODE(caption="Required Dependencies",wrap="1",colors="bash")}sudo apt-get install libzzip-dev libxt-dev libxaw7-dev libxrandr-dev libfreeimage-dev freeglut3-dev libois-dev libfreetype6-dev libpng3-dev{CODE}
{CODE(caption="Not Strictly Required Dependencies",wrap="1",colors="bash")}sudo apt-get install nvidia-cg-toolkit libois-dev libboost-dev{CODE}
{CODE(caption="Entirely Optional Dependencies",wrap="1",colors="bash")}sudo apt-get install doxygen graphviz libcppunit-dev{CODE}
%note% While {MONO()}nvidia-cg-toolkit{MONO}, {MONO()}libois-dev{MONO} and {MONO()}libboost-dev{MONO} are not strictly required, you'll want to install them:
*{MONO()}nvidia-cg-toolkit{MONO} is used by the Cg plugin for Cg shaders.
*{MONO()}libois-dev{MONO} is used as input library for the demos.
*{MONO()}libboost-dev{MONO} is used by the paging component and other background threading.
Could probably use {MONO()}libglew1.5-dev{MONO} instead of {MONO()}freeglut3-dev{MONO}. It is an open question whether or not {MONO()}libxt-dev{MONO} and {MONO()}libpng3-dev{MONO} is required.
----
!! %done% Fedora
{IMG(src="img/wiki_up/Fedora.jpg",alt="fedora.jpg", imalign="right")}{IMG}
This is a list of packages to install for Fedora 13:
{CODE(wrap="1",colors="bash")}gcc-c++ libxaw-devel freetype-devel freeimage-devel boost-devel ois-devel zziplib-devel{CODE}
{SPLIT}
---(Mac OSX)---
{SPLIT(colsize=10%|70%)}{IMG(src="img/wiki_up/Big_Logo_Macintosh.jpg",height="66",width="66",imalign="left")}{IMG}
---
Precompiled archive containing PPC and i386 binaries compiled against the 10.4u SDK: [https://sourceforge.net/projects/ogre/files/ogre-dependencies-mac/1.7/OgreDependencies_OSX_20091230.zip/download|OS X Dependencies]
{SPLIT}
{VERSIONS}