[[TracNav(TracNav/TOC)]]
= OSG & VPB Build Environment in Windows as Step-By-Step Tutorial =
This !HowTo shows '''one solution'' to create a good working OSG build environment on a windows operating system.
== Prerequisites ==
* Install CMAKE from http://www.cmake.org/cmake/resources/software.html
* Download OSG sources
* Download prebuild 3rdParty libraries from http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies . Use precompiled 3rdParty libs because building them takes many many hours :/ '''Attention: Use the right version for your compiler, the wrong version can cause unpredicatlbe linking and runtime errors!'''
* Download the example data from http://www.osgvisual.org/projects/osgvisual/wiki/Downloads
== Directory structure ==
Die Verzeichnisstruktur soll anhand einer Installation auf D: erläutert werden:
|| Verzeichnis || Inhalt || Quelle ||
|| D:\OpenSceneGraph || Wurzelverzeichnis des OSG-Frameworks || - ||
|| D:\OpenSceneGraph\gdal-1.6.2 || gdal-1.6.2 || Herunterladen und selber kompilieren oder von andenre Projekten hineinkopieren ||
|| D:\OpenSceneGraph\3rdParty || Verzeichnis für die Libraries von Dritten (Aus OSG-SVN fertig beziehbar))|| http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies ||
|| D:\OpenSceneGraph\Data || Modelle und Bilder für die kompilierten Beispiele || http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets ||
|| D:\OpenSceneGraph\OpenSceneGraph-2.9.8 || Verzeichnis in dem das eigentliche OSG-Framework (bin lib include etc.)liegt || Neueste Version aus SVN ||
|| D:\OpenSceneGraph\VirtualPlanetBuilder || Verzeichnis für die Installation des VPB. || Neueste Version aus SVN ||
== Umgebungsvariablen setzen ==
Es sind folgende Umgebunsvariablen nötig:
* OSG D:\OpenSceneGraph\OpenSceneGraph-2.9.8\bin;D:\OpenSceneGraph\3rdParty\bin;D:\OpenSceneGraph\gdal-1.6.2\bin
* OSG_FILE_PATH D:\OpenSceneGraph\Data;D:\OpenSceneGraph\Data\Images
* PATH erweitern mit ;%OSG%
* OSG_SCREEN 0 Nummer des Bildschirms, den OSG verwenden soll. es wird angefangen bei 0 zu zählen.
* OSG_NOTIFY_LEVEL Notify-Level für die Konsolen-Ausgabe, z.B.: WARN
* OSG_ROOT OSG-Wurzelverzeichnis, z.B.: D:\OpenSceneGraph\OpenSceneGraph-2.9.8
== GDAL kompilieren ==
* Download GDAL SDK-Package (bottom of the page) from http://vbkto.dyndns.org/sdk/
* Open in VS2005 SP1 and compile.
* Create new gdal directory structure
gdal-1.x.x
- bin
- include
- data
- lib
* If you have compiled successfully, populate this directories:
|| data || Content from SDK-Package//data ||
|| include || All includes files from SDK-Package/ -- cpl_config.h will reside in different folders with different size, use the bigger one. ||
|| bin || Copy all .exe and.dll into this directory ||
|| lib || Copy gdal_i.lib into this directory ||
* Delete your downloaded SDK to avoid that cmake will found this folder instead your build.
== OSG Kompilieren ==
Die Reihenfolgedes kompilieren lautet
* CMAKE starten und Sourcecode wählen
* Sourcecode Verzeichnis: D:/OpenSceneGraph/OpenSceneGraph-2.9.8
* Build Binaries Verzeichnis: D:/OpenSceneGraph/OpenSceneGraph-2.9.8
* Optionen für gewähltes Sourcecodeverzeichnis einstellen
* ACTUAL_3RDPARTY_DIR D:/OpenSceneGraph/3rdparty
* CMAKE_INSTALL_PREFIX D:/OpenSceneGraph/OpenSceneGraph-2.9.8
* BUILD_MFC_EXAMPLES true (Diese Option erscheint erst, wenn BUILD_OSG_EXAMPLE auf true gesetzt wurde und einmal ein "Configure" ausgeführt wurde)
* BUILD_WRAPPER true
* configure ausführen, bei Fehlern diese beseitigen
* Generate ausführen -> MS Visual Studio Solution wird erzeugt
* D:/OpenSceneGraph/OpenSceneGraph-2.9.8 betreten und OpenSceneGraph.sln öffnen
* BUILD_ALL einmal als Debug und einmal als Release kompilieren ( Bei Fehlern immer wieder OHNE Aufräumen kompilieren bis alle Fehler weg sind und der Compile gelingt)
Fertig! :)
Sollte beim Compile nicht gegen wldap32.lib gelinkt werden können: http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg20490.html