BuildWindowsCore

From Immersive Visualization Lab Wiki
Revision as of 23:52, 6 December 2014 by Jschulze (Talk | contribs)

Jump to: navigation, search

Contents

Building the CalVR-Core under Windows

The following third-party libraries are needed for the installation:

  • Cmake (versions 2.8.12.2 and 3.1.0-rc2 have been tested)
  • OpenSceneGraph (versions 3.2.0 and 3.2.1 have been tested)
  • Visual Studio (version 2012 has been tested)

The installation under Windows can be tricky, especially because of the different versions of the software. So there is no guarantee that the version we use will work on other systems.

Building OpenSceneGraph

After downloading the OSG source code, extract the files in a folder under your main directory (normally your C:\ drive). Now run the Cmake GUI and enter the directories "Where is the source code" and "Where to build the binaries". You can also drag and drop the Cmakelists.txt file that is located in OSG's root directory. Click on "configure".

Now you can customize your build. Red lines indicate new variables that can be set or modified. Most of them are optional and some are already set.

Make sure that the following variables are set correctly, the path given below is an example:

- OSG_ROOT            C:\osg\OpenSceneGraph-3.2.0
- OSG_INCLUDE_PATH    C:\osg\OpenSceneGraph-3.2.0\include
- OSG_BIN_PATH        C:\osg\OpenSceneGraph-3.2.0\bin
- OSG_LIB_PATH        C:\osg\OpenSceneGraph-3.2.0\lib

After setting everything to your needs press 'c' for configure again and all red lines should disappear. In case there are still unknown variables, correct them or leave them as they are and press 'c' again.

Now you can generate the solution file by pressing 'g' for "generate".

If everything goes well, you should now see the OpenScenegraph.sln file in the folder you entered in "Where to build binaries". Open it in Visual Studio and select your preferred build type - use Debug if you will be developing your own CalVR apps, otherwise Release. Click on build --> build solution. This starts the build process, which can take several minutes. If everything builds correctly, you are now able to right click on the "INSTALL" project and select "build". After the build is finished you can check your installation by entering the following command in a command prompt:

osgversion

If building the "INSTALL" project throws an error, it could be that the compiler couldn't create a file under C:\Program files(x86)\... . This happens because you need to be an Administrator to create a file there. You can solve this problem by adding the directory manually.

Building CalVR's Core

To avoid errors while building CalVR add a new folder under the C:\ directory where you put the source code. Similar to the OSG build, open the Cmake GUI and drag and drop the Cmakelists-file on it to set the "Where to find source" and "Where to build the binaries" directories. Press 'c' and set the variables as needed. Press 'c' again to apply the changes and then press 'g'. Now open the generated solution file and build it. If the build is successful the "INSTALL" project can be build. After all is said and done there should be an executable called "CalVR.exe".

Before you run CalVR, make sure you set the following environment variables:

- CALVR_HOME           C:\CalVR
- CALVR_CONFIG_DIR     C:\CalVR\config
- CALVR_CONFIG_FILE    config.xml

Before starting CalVR, its XML configuration file must be edited. For more detailed information about the config file see: CalVR Config File

If you get an error about a header file that could not be found, go to Properties in the project menu. There go to "VC++ - Directories" and adjust the path for the Include directory.

errors that can occur

The most often errors that happen during build are linker errors where the compiler can't find the specified file. Most of them can be solved by adding the path where the missing file is stored, in the project properties. Another error stated that the Module machine type 'x64' conflicts with target machine type 'X86' or the other way around. If you get this error you should check the build configuration under build --> configuration.