1.1文件目录构建
第一步:我们在D盘编译osgEarth,首先建立一个文件夹:D:osgEarth,把源代码放到该文件夹,重命名为osgEarth-2.8.2:
第二步:在D:osgEarthbuild建立一个build文件夹.
第三步:把D:OSG3rdParty拷贝到C:Open Scene Graph。
第四步:把C:Open Scene Graph文件夹拷贝到D:osgEarth下
1.2 编译gdal
1)下载gdal
2)打开makegdal10.sln,编译结束后,在C:warmerdabldbin下拷贝gdal18.dll到
D:osgEarthOpen Scene Graph3rdPartybin下面。
3)把gdal.lib, gdal_i.lib ;port目录下的cpl.lib和ogr目录下的 ogr.lib拷贝到:
D:osgEarthOpen Scene Graph3rdPartylib下。
4)把alg,gcore,ogr,port文件夹下的.h文件拷贝到D:osgEarthOpen Scene Graph3rdPartyincludegdal目录下,可以用搜索文件的方法把下载的gdal中的.h文件都拷贝到D:osgEarthOpen Scene Graph3rdPartyincludegdal目录下:
1.3编译libcurl
1)下载解压libcurl,打开vsvc6下的文件,编译debug 和release版本 。
2)把生成的libcurl.dll 和 libcurlD.lib拷贝到D:osgEarthOpen Scene Graph3rdPartybin
3)把D:osgEarthcurl-7.30.0includecurl下的文件拷贝合并到D:osgEarthOpen Scene Graph3rdPartyincludecurl
1.4 编译Geos
1) 下载geos,解压到D:osgEarth
2) 打开D:osgEarthgeos-3.2.3buildmsvc80下的geos 转化为vs2010,进行编译
3)分别编译debug 和release版本下的geos_c_dll和geos_lib项目。
4)拷贝D:osgEarthgeos-3.2.3buildmsvc80Debug下的geosd.lib ,geosd_c_i.lib到D:osgEarthOpen Scene Graph3rdPartylib;geosd_c.dll到
D:osgEarthOpen Scene Graph3rdPartybin
5)把D:osgEarthgeos-3.2.3sourceheadersgeos文件夹拷贝到D:osgEarthOpen Scene Graph3rdPartyinclude。
1.5 编译sqlite3
1)下载两个压缩包:解压后,把sqlite_dll_win32-x86_3071700下的两个文件放到sqlite-amalgamation-3071700解压后的目录下,解压后文件夹重命名为sqlite3。组合成下面所示:
2)新建动态连接库项目:win32控制台dll,空项目。
3)拷贝.h,.c,.def 3个文件到D:osgEarthsqlite3sqlite3sqlite3下面
4)添加头文件sqlite3.h到头文件;添加源文件sqlite3.c,sqlite3.def到源文件。
5)设置项目属性
SQLITE_ENABLE_COLUMN_METADATA SQLITE_ENABLE_RTREE
6)生成debug 和release版本,分别命名为sqlite3d.lib|sqlite3d.dll, sqlite3.lib|sqlite3.dll
7)把sqlite3.lib 和sqlite3.dll拷贝到D:osgEarthOpen Scene Graph3rdPartybin
D:osgEarthOpen Scene Graph3rdPartylib
1.6 编译minizip
就用3rdParty/lib下面的minizip.lib和minizipD.lib,但头文件需要下载,把解压后的头文件放到D:osgEarthOpen Scene Graph3rdPartyincludeminizip下:
1.7 cmake设置
打开cmake,设置如下:
点击configure, 错:
第三步:设置OSG_DIR,设置为D:/osgEarth/Open Scene Graph,点击configure,osg其他的选项会自动识别
第四步:THIRD_PARTY_DIR,设置后configure一下
第五步:zlib,设置后configure一下
第六步:gdal,设置后configure一下
第七步:miniMap,设置后configure一下
第八步:经过上述配置,已经可以不 错通过。
第十步:generate后,打开D:osgEarthbuild 下的osgearth.sln
1.8 编译
1.设置ALL_BUILD的include 包含目录:
2.开始编译
编译osgearth的过程中,有几个项目需要设置include包含目录,主要有:
1)osgEarthSymbology
2)osgEarthFeatures
3)osgearth_arcgis
4)Sample osgearth_featureinfo
5) osgEarthUtil
6)osgearth_feature_ogr
7)osgearth_feature_wfs
8)osgearth_feature_tfs
给上述8个每一个手动添加D:osgEarthOpen Scene Graph3rdPartyinclude包含目录,如下图所示:
二、选择”生成”菜单下的”批生成”子菜单, 配置如下:
编译时间比较长,几个小时。
全部成功总共178项。
1.9 软件部署
osgEarth软件包主要包括四个目录:bin,data,include,lib。
第一,在C盘根目录下建立一个文件夹:OpenSceneGraph,在OpenSceneGraph下建立上述四个子目录,如下图所示:
第二,组织bin目录,bin主要包含dll和exe,如下表所示:
拷贝第一项:定位C:Open Scene Graphbin,搜索*.dll,拷贝到bin
拷贝第二项:因为osg的例子只生成了一部分所以只有生成的一部分18个
拷贝第三项:定位D:osgEarthbuild,,搜索*.dll,拷贝到bin
拷贝第四项:定位D:osgEarthbuild,,搜索*.exe,拷贝到bin
拷贝第五项:定位D:osgEarthOpen Scene Graph3rdParty,搜索*.dll,拷贝到bin
第三,组织data目录:
首先把D:osgEarthosgearth-2.8.2data下的所有拷贝到data
然后把D:OSGData下的所有拷贝到data
首先把D:osgEarthosgearth-2.8.2tests下的所有拷贝到data
第四,组织include
首先把C:Open Scene Graphinclude下的所有拷贝到include
然后把D:osgEarthosgearth-2.8.2src下的所有拷贝到include,可以把该目录下的.cpp文件删除,保留.h头文件。
第五,组织Lib同dll
拷贝第一项:定位C:Open Scene Graphlib,搜索*.lib,拷贝到lib
拷贝第二项:定位D:osgEarthbuild,,搜索*.dll,拷贝到lib
拷贝第三项:定位D:osgEarthOpen Scene Graph3rdParty,搜索*.lib,拷贝到lib
1.10 环境变量设置
把osg环境变量:OSG_FILE_PATH,Path相应的变量中的Open Scene Graph更改为OpenSceneGraph
1.8 最后程序验证
Cmd
Osgversion
Osgearth_viewer c:OpenScenGraphdatagdal_tiff.earth
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!