Setting Up An Application With Visual Studio


This set of instructions will walk you through setting up a Visual Studio C++ project from scratch. An alternative to this tutorial is to use the Ogre Application Wizard(external link) instead. This tutorial is still useful if you wish to understand what the Application Wizard does for you. When you have finished this tutorial you will be able to compile a working Ogre Application and you will be ready to start the Basic Tutorials.


  • Visual Studio 2008 must be installed. Visual Studio Downloads(external link)
  • The Ogre SDK version 1.7 or greater must be installed.
    • Installing the Ogre SDK: Installing the Ogre SDK
    • Build Ogre from source with CMake: CMake Quick Start Guide If you are building Ogre from source, you must build the debug and release targets and execute the Install script for both targets as well. This will create a directory structure that is identical to the binary install structure.




Creating a new project

  • Start Visual Studio 2008
  • Create a new project: File | New | Project
  • Under project types select Visual C++ then under Templates select Win32 Project.
  • Navigate to the location in which your project will be located by clicking the Browse button. It should not be in either the SDK directory or in the source files for Ogre.
  • Click the OK button and the Win32 Application Wizard will be displayed.
  • Click the Next Button.
  • Select 'Windows Application' and 'Empty project' when prompted for the type of project to create.
  • Click the Finish button.

Creating the directory structure and adding files

Download and extract the Ogre Wiki Tutorial Framework into your project directory and add them to the project.

  • If you hover over the second button in the Solution Explorer's toolbar, you will see that it says "Show all files" It should not currently be toggled so you should click on it to toggle it. Now you will see this display of Solution Explorer.

  • Open each of the folders by clicking on the + signs to the left of each folders name.
  • Right click on the each of the files and select Include In Project.
  • Select File|Save All from the Visual Studio menu.

Setting up the environment

  • Right click on the project OgreTemplate and select properties. The following screen will be displayed.

The Properties Pages are arranged in a hierarchy.
By default, Visual Studio creates two configurations. The project is created with two configurations: Debug and Release. You will notice in the upper left corner of the last screen shot that the "Debug" configuration is currently the active configuration. You can change which configuration is being shown by selecting the arrow in that drop-down box. There is an additional value in that drop-down box that indicates that you wish to change a property in all configurations called, surprisingly enough, All Configurations.
This tutorial assumes that the operating system environment variable OGRE_HOME has been set up to point to the SDK directory.

  • Select the All Configurations Configuration by selecting the Configuration drop-down box and selecting "All configurations". Set the variables according to the following chart. You should click Apply after each group of properties.
    General | Output Directory          : bin\$(ConfigurationName)
    General | Intermediate Directory    : obj\$(ConfigurationName)
    General | Character Set             : Use Multi-Byte Character Set
    Debugging | Command                 : bin\$(ConfigurationName)\$(ProjectName).exe
    Debugging | Working Directory       : bin\$(ConfigurationName)
    Debugging | Environment             : path=$(OGRE_HOME)\Bin\$(ConfigurationName)
    C/C++ | General | Additional Include Directories : include;$(OGRE_HOME)\include;$(OGRE_HOME)\include\OIS;$(OGRE_HOME)\include\OGRE;$(OGRE_HOME)\boost
    Linker | General | Additional Library Directories : $(OGRE_HOME)\lib\$(ConfigurationName);$(OGRE_HOME)\boost\lib
  • Select the Debug Configuration by selecting the Configuration drop-down box and selecting "Debug". Set the properties according to the following chart.
    Linker | Input | Additional Dependencies            : OgreMain_d.lib OIS_d.lib
    Linker | Debugging | Generate Debug Info            : Yes (/DEBUG)
  • Select the Release Configuration by selecting the Configuration drop-down box and selecting "Release". Set the properties according to the following chart.
    Linker | Input | Additional Dependencies : OgreMain.lib OIS.lib
    Linker | Debugging | Generate Debug Info : No

Building the project

  • Choose the Debug Solution Configuration.
  • Right click on the project OgreTemplate and select Build Project.

There should be no compile or link errors.

  • Choose the Release Solution Configuration.
  • Right click on the project OgreTemplate and select Build Project.

There should be no compile or link errors.


Make sure you optimize your build time with Precompiled headers

Copying the config files from OGRE_HOME to the project

As a final step we need to copy some additional files that will be needed to run this project. The build steps just performed created a folder in the project folder called bin and underneath that folder two folders called release and debug. Each of these folders acts as the working directory for their respective configurations when Ogre runs. The Ogre framework will be looking in the working directory for some configuration files and they will be slightly different depending on whether a debug or release version is being run. The configuration files that you will need to run each version are located in $(OGRE_HOME)\bin\debug and $(OGRE_HOME)\bin\release. Copy the *.cfg files from the OGRE_HOME directory to the corresponding project directory.

Running the project

  • Run each version of the Project. If it all works correctly, you will the following screen:


  • Select a rendering subsystem from the select box in the middle of the window and click 'Ok'. You should see the following:
  • If not, go back and verify that you entered all the project properties correctly. You are now ready to move on to the Basic Tutorials.


Contributors to this page: spacegaier6073 points  , Tytanis118 points  , thebaldwin798 points  , piiichan935 points  , Nikitron787 points  , jacmoe180265 points  , harkathmaker245 points  , haltendehand742 points  , gerymate1 points  , Flateno786 points  , Emmentaler2437 points  , binarycrusader173 points  and archeboc427 points  .
Page last modified on Friday 17 of October, 2014 13:29:05 UTC by spacegaier6073 points .

The content on this page is licensed under the terms of the Creative Commons Attribution-ShareAlike License.
As an exception, any source code contributed within the content is released into the Public Domain.