osgEarth源码编译(Win10+VS2019+OSG3.6.5+osgEarth2.10.0)

本文档详细记录了在Windows 10环境下,从下载到配置,再到编译OpenSceneGraph (OSG) 和 osgEarth 的全过程,包括所需第三方库的获取、CMake的使用、环境变量的设置以及编译后的文件组织和验证步骤。通过这个教程,读者可以避免遇到的常见问题,快速搭建起OSG和osgEarth的开发环境。

因工作需要,学习了OSG、osgEarth。

虽然OSG、osgEarth是开源软件,但我个人感觉,要从源码生成能用的软件版本还是有困难的。有时第三方库不完整、有时需要匹配各个软件配置项的版本;经常是编译出来的软件无法正常运行。

我零零散散使用了将近一个多月时间,才创建了一个能在Win10中正常运行的软件。总结一下,希望能为大家节省一些学习的时间。

1. 第三方组件下载及解压缩

下载网址:

Dependencies

我选择的是:

下载完成后,得到的压缩包名为“3rdParty_VS2017_v141_x64_V11_full.7z”。是由VS2017(v141)生成的第三方库。

解压后,将其保存在目录“D:\OSGCore\Bulid\3rdParty”中。

将目录“D:\OSGCore\Bulid\3rdParty\bin”加入系统环境变量Path中

2. OSG数据资源的下载

下载网址:

Data Resources

下载完成后,得到的压缩包名为“OpenSceneGraph-OpenSceneGraph-3.4.0.zip”。

解压后,将其保存在目录“D:\OSGCore\Bulid\OpenScenGraph-Data”中。

<think>嗯,用户需要配置OSG 3.6.5 + osgEarth 3.4 + VS2017的开发环境。这是一个典型的图形开发环境搭建问题,用户可能是计算机图形学开发者或GIS相关领域的研究人员。 从引用内容看,用户提供的参考资料存在版本差异(比如引用[2]提到osgEarth 3.3),但核心编译流程是相通的。需要特别注意几个技术要点:首先,osgEarth依赖GDAL库处理地理数据,而引用[4]提到必须设置Qt路径;其次,引用[2][3]都强调FBX插件和字体插件编译的重要性,否则会影响基础功能。 用户没有说明操作系统,但考虑到VS2017的使用,默认按Windows环境处理。编译过程最可能出错的环节是第三方库依赖,尤其是curl和gdal的路径配置。需要提醒用户注意:1)所有依赖库必须使用相同编译器(VS2017 x64)编译2osgEarth的CMake配置会递归检查依赖项,必须逐个解决报错。 考虑到编译耗时可能长达数小时(特别是Debug版本),应该在步骤中明确建议先编译Release版本测试。另外引用[3]提到osgEarth源码目录结构变化的问题,3.4版可能需要调整CMakeLists.txt中的子目录包含方式。 用户可能遇到的隐藏难点是:1)Proj库版本与osgEarth的兼容性;2VS2017的MSVC版本(1910-1912)对C++14特性的支持差异。虽然这些问题未在引用中直接体现,但在常见编译错误中占比很高,需要预判性提示。</think>以下是 OSG 3.6.5 + osgEarth 3.4 + VS2017 开发环境配置的详细步骤: ### 一、环境准备 1. **安装 Visual Studio 2017** - 选择工作负载:`使用 C++ 的桌面开发` - 必装组件:`MSVC v141 - VS2017 C++ x64/x86 生成工具`、`Windows 10 SDK` 2. **安装依赖工具** - [CMake](https://cmake.org/download/) (3.10) - [Git](https://git-scm.com/) - [7-Zip](https://www.7-zip.org/) (解压源码) 3. **下载第三方依赖库** ```powershell # 创建工作目录 mkdir C:\OSG_Dev && cd C:\OSG_Dev git clone https://github.com/openscenegraph/3rdParty-CMake.git ``` ### 二、编译 OSG 3.6.5 ```powershell # 下载源码 git clone --branch OpenSceneGraph-3.6.5 https://github.com/openscenegraph/OpenSceneGraph.git mkdir OSG-Build && cd OSG-Build # CMake 配置 (管理员权限运行) cmake ../OpenSceneGraph \ -G "Visual Studio 15 2017 Win64" \ -DCMAKE_INSTALL_PREFIX="C:\OSG_Install" \ -DACTUAL_3RDPARTY_DIR="C:\OSG_Dev\3rdParty-CMake" \ -DBUILD_OSG_EXAMPLES=ON \ -DFBX_SUPPORT=ON # 关键!启用FBX插件[^2] # 编译安装 (Release模式) cmake --build . --config Release --target INSTALL ``` ### 三、编译 osgEarth 3.4 ```powershell # 下载源码 cd C:\OSG_Dev git clone --branch 3.4 https://github.com/gwaldron/osgearth.git mkdir osgEarth-Build && cd osgEarth-Build # CMake 配置 cmake ../osgearth \ -G "Visual Studio 15 2017 Win64" \ -DCMAKE_INSTALL_PREFIX="C:\osgEarth-Install" \ -DOSG_DIR="C:\OSG_Install\lib\cmake\OpenSceneGraph" \ -DGDAL_INCLUDE_DIR="C:\OSG_Dev\3rdParty-CMake\include\gdal" \ -DCURL_LIBRARY="C:\OSG_Dev\3rdParty-CMake\lib\libcurl.lib" # 确保CURL路径正确[^4] # 编译安装 cmake --build . --config Release --target install ``` ### 四、环境验证 1. **配置系统环境变量** ```ini PATH=C:\OSG_Install\bin;C:\osgEarth-Install\bin;... OSG_FILE_PATH=C:\OSG_Install\data ``` 2. **测试命令** ```powershell osgversion # 应显示3.6.5 osgearth_version # 应显示3.4.x osgviewer cow.osg # 显示奶牛模型 ``` ### 五、常见问题解决 1. **字体插件缺失** 检查 `C:\OSG_Install\bin\osgPlugins-3.6.5` 是否存在 `osgdb_freetype.dll`,若缺失需在 CMake 中启用: ```cmake -DBUILD_OSG_PLUGINS_BY_DEFAULT=ON # 确保包含freetype[^2] ``` 2. **FBX 支持问题** 确认编译时开启 `-DFBX_SUPPORT=ON` 且存在 `osgdb_fbx.dll`[^2] 3. **Qt 集成** (可选) ```cmake -DQT5_DIR="C:\Qt\5.12.0\msvc2017_64\lib\cmake\Qt5" \ -DOSG_USE_QT=ON # 添加Qt支持[^4] ``` > **重要提示**:所有第三方库必须使用 **VS2017 x64** 编译,混合编译器会导致链接错误[^3]。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alexabc3000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值