osgEarth编译的一些问题
这两天借着osg培训的机会捯饬了下64位osgearth的编译。遇到了一些问题:
首先我没有编译osg,用的提供的osg3.2.1编译好的64位包。
编译osgearth先后编译了2个版本,先是2.7.0后又编译了2.5.0。本来osgearth别人也提供了一套开发包,但是没有办法直接运行示例程序,所以想自己编译一套。
1、对于osgearth2.7.0,操作系统Win10 64bit普通家庭版。我采用了CMake3.2.1版本,配置主要是第三方库,OSG路径什么的。一般来说只要依赖项都配置好了,CMake不会有报错信息。生成VC项目文件后,编译。安装过程报了个没有C盘权限的问题,这个手工建立个文件夹居然解决了。
但是运行示例程序的时候报找不到程序入口点的错误。原因是我配置的环境变量Path中是之前别人提供的osgearth路径,所以一直出错。
2、之后我又编译2.5.0,操作系统Win10 64bit普通家庭版,因为FreeEarth说是在这个基础上开发的。
Win10下用CMake3.2.1提示好多警告信息,生成项目文件后编译,但是还是有好多无法链接到lib的错误。
怀疑是CMake版本过高的问题,于是采用培训老师说的CMake2.8.12.2(我都采用的是免安装的.zip版本),这个好多依赖项都没有办法自动识别,所以必须手工配置。主要是第三方库、GDAL、GEOS、QT、Trion、Zlib1,配置完成后没有提示警告。
生成项目文件,编译过程没有问题。但是在Win10 VS2010上无法执行Install,不知道什么原因。
3、同样的设置我又在Win7系统上编译,编译通过,Install也正常。接下来又出现找不到程序入口点这样的错误。还是环境变量搞混了。
注意:
程序运行使用的Dll必须和编译时候使用的保持一致。
CMake不同版本可能存在不一致性,所以编译特定版本的osgearth库要查看一下推荐哪个版本的Cmake。
4、osgearth对.earth格式文件支持,实现了瓦片和高程数据的加载,实现了对模型文件的加载,实现了对shp文件的加载。
对不同文件的支持采用不同的插件形式进行支持。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程