OSG+VS2010+win7環境搭建---OsgEarth編譯


OSG+VS2010+win7環境搭建

一.相關准備

a) Osg源碼

當前最新版:OpenSceneGraph的3.0.0.zip

下載鏈接:

http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-3.0.0.zip

b) Osg第三方庫

3rdParty_VC10_x86_x64.zip

http://members.iinet.net.au/~bchrist/3rdParty_VC10_x86_x64.zip

c) 數據包

當前最新版:OpenSceneGraph-Data-3.0.0.zip

下載鏈接:

http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/data/OpenSceneGraph-Data-3.0.0.zip

d) 安裝源碼工具

cmake-2.8.4-win32-x86.exe。

二、編譯准備

為了編譯的順利進行,將下載的文件組織如下:

在C盤建立一個OSG的文件夾,然后其他文件如下放置:

D:\OSG\OpenSceneGraph:源碼解壓后放於此

D:\OSG\3rdParty:第三方依賴庫解壓后放於此

D:\OSG\OpenScenGraph-Data-3.0.0.zip:數據包解壓后放於此。

三.安裝源碼

a) 安裝CMake之后,打開CMake -gui.exe

b) 源碼OpenSceneGraph-3.0.0.zip解壓后,將里頭的CmakeLists.txt,拖到Cmake界面。

如圖:

 

 

c) 點擊Configure,選擇Visual Studio 10(x86),finish后進行相關設置:

ACTUAL_3RDPARTY_DIR值D:/OSG/3rdParty;

BUILD_OSG_EXAMPLES :ON

CMAKE_INSTALL_PREFIX:D:/OSG/OpenSceneGraph/;

如下圖:

 

e)點擊Configure后,將Advanced打勾,將BUILD_MFC_ EXAMPLE設置為on,然后進行最后一次的Configure配置。

f)點擊Generate,自此建構完成。

四.編譯階段

a) 用VS2010打開OpenSceneGraph.sln(此文件在D:\OSG\OpenSceneGraph下),

生成-批生成,對All_BUILD進行生成,選擇(Debug和Release兩個版本),這段編譯時間是很長的,估計4-5個小時。

 

b) 第1步完成后,再對INSTALL也進行相應生成編譯。這段時間相應會短一點。

 

五.數據轉移

在C盤新建OSG文件夾

將D:\OSG\OpenSceneGraph下的bin,include,lib文件夾拷貝到C:\OSG下,將D:\OSG\OpenSceneGraph-Data-3.0.0下的數據拷貝到C:\OSG\data下;這幾個文件是OSG需要的。

六.環境變量設置

對系統變量設置如下:

OSG_FILE_PATH: C:\OSG\data

PATH:C:\OSG\bin;

可在命令行進行測試osgversion,osglogo,osgviewer cow.osg。

 

七.新建OSG項目測試

a) 在VS2010下新建WIN32控制台程序

b) 添加一個cpp

c) 輸入以下代碼:

 

#include<osgViewer/Viewer>

#include<osgDB/ReadFile>

int main( int argc, char **argv )

{

osgViewer::Viewer viewer;

viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) );

return viewer.run();

}

 

d)右鍵項目,選擇“屬性”,選擇“VC++目錄”,在包含目錄添加:C:\OSG\include

在庫目錄添加:C:\OSG\lib.

 

e) 打開項目屬性的鏈接器,輸入里,附加依賴項加上:

OpenThreadsd.lib

osgd.lib

osgDBd.lib

osgUtild.lib

osgGAd.lib

osgViewerd.lib

osgTextd.lib

f)運行,效果如下圖:

 

 

 

 

OsgEarth編譯

OsgEarth編譯過程網上有很多,目前我遇到的最大問題是編譯GDAL源碼時,老是出現問題,這個好像是源碼就有問題,不能直接打開sln編譯,需要使用命令行編譯。下面是一篇網頁的解決方案:

http://www.cnblogs.com/carfield/archive/2012/02/27/2370472.html

原文內容如下:

      首先,需要說明的是關於GDAL入門的一些知識,在李民錄先生的博客http://blog.csdn.net/liminlu0314/article/list/1?viewmode=contents上已經有比較好的說明介紹了,在這里,我引用他的博文,在他的基礎上,做一些符合自己嘗試經歷的修改。

 

在這里,我使用源碼編譯出C#可以使用的dll靜態文件。

一、簡單的編譯

1、簡單的認識

      首先進入GDAL的源代碼目錄,可以看到有幾個sln為后綴的文件名,比如makegdal10.sln,makegdal80.sln,makegdal71.sln,makegdal90.sln 。這些文件是VisualStudio的工程文件,后面的數字對應的VS的版本號,71表示的VS2003,80表示VS2005,90表示VS2008,還有10表示VS2010等。根據自己電腦安裝的VS版本,打開對應的文件,如下圖所示(使用VS2008SP1版本,打開makegdal90.sln文件):

 

2、使用cmd命令行編譯

在操作之前,需要說明點的是,gdal源碼在至少1.7.0版本之前都出現的錯誤

修改Gdal中的bug,Source Files\leveller\levellerdataset.cpp文件171行

{ “?, kPI / 180.0, UNITLABEL_DEGREE },將“ “? ”修改為“ ”? “ ”,保存;

1.9.0不存在這樣的毛病。

1)使用cmd命令行編譯,首先在“開始菜單\所有程序\Microsoft Visual Studio 2008\Visual Studio Tools\ Visual Studio 2008命令提示”,點擊“Visual Studio 2008 命令提示”會彈出下面的界面:

2)然后使用cd命令,切換到GDAL的源代碼目錄,如下圖所示:

3)切換到GDAL的源代碼目錄后,依次敲入下面的命令行后回車,等待編譯結束即可。

nmake -f makefile.vc

nmake -f makefile.vc install

nmake -f makefile.vc devinstall

 

同時還有其他的命令,如:

nmake -f makefile.vc clean

nmake -f makefile.vc MSVC_VER=1400clean

nmake -f makefile.vc MSVC_VER=1400DEBUG=1

這三條命令可以不用管。

 

上面六行的命令含義依次是:

編譯GDAL庫

編譯GDAL庫,並安裝(這里安裝的意思就是將生成的dll,exe等文件拷貝到C:\warmerda\bld目錄),

編譯GDAL庫,並安裝開發者模式(安裝的意思同上,開發者模式意思是將開發用的include文件夾中的頭文件和lib文件一同拷貝到C:\warmerda\bld目錄,此時會在C:\warmerda\bld目錄中多出來兩個文件夾,分別是include和lib,分別存放的是GDAL的頭文件和lib文件,用於調用GDAL庫使用)。

清理GDAL庫,同時會刪除編譯GDAL庫所生成的臨時文件,作用相當於在VS環境中的清理命令。

作用同上,但是添加了一個MSVC_VER=1400,表示使用VS2005編譯。

編譯GDAL庫的debug模式,可以用來調試GDAL源碼。

 

4)在此之后

鍵入“cd C:\gdal-1.5.0\swig\csharp”,進入C#源文件所在的文件夾。當然,如果你文件夾位置不是這里,便需要更換地址。

鍵入“nmake /f makefile.vc”,編譯完后生成8個DLL文件,連同之前在c盤會生成warmerda\bld\bin里面也能找到一個DLL共九個。

 

至此,九個DLL便全部出現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM