windows平台下用CMake编译osg

osg环境部署 OSG3.6.5+vs2017+win10_x64 win10+vs2019+osg3.6.5 win10+vs2017+osg3.6.5 编译部署 阅读详情
AI摘要

本文详细介绍使用CMake工具编译OpenSceneGraph (osg) 源码的过程,包括第三方库下载、数据资源准备、源码编译配置及解决常见问题。

      最近研究osg,用CMake工具将osg源码转为VS下的工程、解决方案,开始时不懂,走了很多弯路,现在将自己理解的记录下。

1.第三方库下载

Dependencies

我选择的是:

  • Full package for 64 bit https://download.osgvisual.org/3rdParty_VS2017_v141_x64_V11_full.7z

下载完成后,得到的压缩包名为“3rdParty_VS2017_v141_x64_V11_full.7z”。是由VS2017(v141)生成第三方库。解压放到E:\osg\3rdParty中,目录结构如下:

 将目录“E:\osg\3rdParty\x64\bin”加入系统环境变量Path中。 

 2.OSG数据资源的下载

下载网址:

Data Resources

下载完成后,得到的压缩包名为“OpenSceneGraph-Data-3.4.0.zip”。解压后,将其保存在目录“E:\osg\OpenSceneGraph-Data”中。 添加系统环境变量 OSG_FILE_PATH ,值为 E:\osg\OpenSceneGraph-Data 。

3.下载osg源码

  到OpenSceneGraph官网下载源码,我用的源码是OpenSceneGraph-3.6.2。解压源码,在E:\osg目录下新建一个build_osg3.6.2目录,用于后期编译。整个osg目录结构如下:

 4.CMake的下载和安装

从

Download | CMake

下载 CMake图形化工具,截至2023年4月5日,最新版本为3.26.3。直接双击安装即可。

5.编译源码

1):在CMake图形界面中的“Where is the source code:”的编辑框中输入osg源码目录,注意:该目录必须是CMakeList.stxt所在目录, 目录路径不能有中文,否则CMake会报错。 
2):在“Where to build the binaries”中输入osg编译、链接后生成文件的存放目录。为避免编译产生的文件和源码混放在一起,一般在源码目录的同级目录新建一个build_osg3.6.2 目录来存放编译输出结果文件。像下图那样设置好第三方库目录,在CMake图形界面下方如果出现“Coulde Not find  XXX”之类的提示,证明某些库没有找到,如果这些库对现在从事的项目需求无关紧要,则不管它,直接跳到第3步;如果项目需要这些库,则就需从这些库官网下载并自己编译出该库,关于如何编译osg的第三方库插件,请参见
设置好的界面类似如下:

 3):点击cmake图形界面中的“configure”按钮或“Tools->Configure”菜单,如果是初次执行,则弹出如下界面:

 根据本机装的VS选择VS版本,我本机装的vs2019。注意:后面一项得选x64,相信现在用win32的已经很少了。单击Finish按钮,关闭该对话框回到cmake主界面,单击左下角的“Genrerate”,稍等一会后,就会在build目录下生成.sln解决方案文件,单击“Open Project”按钮,打开该解决方案。

4):编译整个解 决方案。
5):如果编译整个解决方案完成且没有错误,就会在编译输出目录(如:前面提到的build_osg3.6.2 目录)输出osg的lib、dll、头文件。将
E:\osg\build_osg3.6.2/include/osg
E:\osg\build_osg3.6.2/include/OpenThreads
这两个目录下的所有头文件拷贝到源码目录的相应目录下,如:E:\osg\build_osg3.6.2/include/osg中的所有文件拷贝到E:\osg\OpenSceneGraph-OpenSceneGraph-3.6.2\include\osg;将E:\osg\build_osg3.6.2/include/OpenThreads中的所有文件拷贝到E:\osg\OpenSceneGraph-OpenSceneGraph-3.6.2\include\OpenThreads目录。后期开发自己的osg工程时会引用E:\osg\OpenSceneGraph-OpenSceneGraph-3.6.2\include目录中的文件,而该目录中的文件会引用E:\osg\build_osg3.6.2/include目录中的文件,如果不拷贝,则会报某些头文件找不到的错误。
Windows平台下OSG编译与实战开发指南 本文详细介绍了在Windows平台下编译和配置OpenSceneGraph(OSG)3D图形引擎的完整流程。从环境搭建、CMake配置、Visual Studio编译到创建首个实战项目(彩色旋转球体),提供了清晰的步骤和常见问题解决方案,帮助开发者快速掌握OSG在Windows上的开发与部署。 阅读详情

相关推荐

OpenSceneGraph (OSG) 编译依赖及下载指南

通过以上步骤,你应该能够成功编译和安装 OpenSceneGraph。建议先从预编译包开始,如果需要特定功能再考虑从源码编译。OpenSceneGraph 是一个开源的3D图形工具包,以下是编译 OSG 所需的依赖项和获取方式。确保所有依赖版本兼容,建议使用较新的编译器版本。

m0_70984261的博客 628

Windows下osg+Qt搭建三维开发环境

Windows下osg+Qt搭建三维开发环境

danshiming的博客 6830

OpenSceneGraph(OSG)源码编译与安装全攻略:Windows/Linux双平台环境配置

三维渲染引擎是虚拟仿真、GIS可视化和数字孪生等领域的核心技术底座。OpenSceneGraph(OSG)作为开源工业级场景图渲染库,以C++实现,封装了OpenGL底层细节,提供模型加载、场景组织、相机控制等能力,广泛应用于军事仿真、航天可视化与地震解释等专业场景。然而,其陡峭的学习曲线首先体现在环境搭建上。源码编译作为深入理解OSG依赖关系、目录结构与插件机制的关键路径,能帮助开发者建立系统级认知。本文覆盖Windows与Linux双平台,从工具链准备、CMake配置、第三方依赖库处理,到编译安装、环境

weixin_33488239的博客 224

osg环境搭建与使用

osg环境搭建与使用

叶 1540

Windows平台编译OSGEarth全流程:OSG与GDAL依赖配置指南

三维GIS可视化开发中,OSGEarth是常用的开源地理信息渲染引擎,但其在Windows平台上的编译与依赖配置常让人头疼,尤其是OSG、GDAL版本不匹配导致的连锁问题。理解这三者之间的关系是成功的核心:GDAL作为影像处理与坐标转换的底层支撑,OSG负责场景图管理,OSGEarth则在上层组织三维地球渲染。因此编译顺序必须严格遵循GDAL→OSG→OSGEarth。使用vcpkg源码编译GDAL模块,可确保PROJ、GEOS等依赖自洽,避免二进制包带来的隐性冲突。完整的工具链配置与环境变量规划,也直接决

weixin_28836507的博客 330

手把手教你用CMake配置OSG3.6.5与Qt5.15.2开发环境(Win10平台)

本文详细介绍了在Windows 10平台上使用CMake配置OSG3.6.5与Qt5.15.2开发环境的完整流程,涵盖MinGW和VS2019两种编译器选择。从环境准备、CMake参数设置到编译安装,再到Qt项目集成与常见问题解决,手把手指导开发者搭建高效的三维可视化开发环境。

weixin_28826545的博客 280

OSG开发笔记(三十六):osg3.4.0基于windows平台msvc2017x64编译器编译并移植Demo

有问题,以为是没复制过去覆盖32位的,复制过去也崩了,单独运行,还是0x7B错误,这是库连接错误,不理解了,后来经过dll对比,发现时间与32位一致,那么问题的原因就是晚上有点事,第二天上午才看,以为编了覆盖了64位的,实际没编译,install还是32位的,所以编译写。这是个常规问题了,关键在于已经设置了x64怎么出来还是x86_32,好几年没弄,又卡了一下。使用纯Qt程序,排除掉osg的,使用纯Qt程序,也是崩溃,本身Qt装的可能有问题,继续研究。运行直接崩,一般是dll依赖缺少,检查了不缺。

weixin_55010563的博客 419

OSG编程指南<三>:利用Cmake+VS2019+OSG3.6.5编译osgVerse

利用Cmake+VS2019+OSG3.6.5编译osgVerse

欧特GO 1615

1、OSG源码编译[Windows10+Ubuntu]

在最后生成(make)osgPlugins部分的时候,这里有很多部分,其中的ffmpeg和RestHttpDevice两个东西出错,是版本的问题,为了快速完成且基本上用不到,就将其从编译中剔除。也可以不设置,只是要很长的路径。生成过程中可能会报错,我遇到的是关于MFC相关的,需要在Examples osgviewerMFC项目中的stdafx.h文件中添加如下代码。**第四步:**生成了之后,再次回到批生成中,选择INSTALL,如下图,安装之后会在之前cmake中设置的安装目录中输出相关数据。

qq_35662333的博客 885

OSG跨平台编译:CMake跨平台安装(Windows、Linux、MacOS环境下安装)

OSG跨平台编译;osgEarth跨平台编译;CMake跨平台安装

LuckyHanMo的博客 1316

OSG跨平台编译:编译环境

OSG跨平台编译;osgEarth跨平台编译;编译环境

LuckyHanMo的博客 1582

OSG-3.7.0 for Windows 源码编译

数据准备 构建VS解决方案 编译 测试 未来 数据准备 去github下载OpenSceneGraph-3.7.0,目前3.7.0版本就是Master 去官网下载第三方库3rdParty_VS2013_v120_x86_x64_V9_full.7z,如果自己的不是VS2013,自己去找对应VS版本的第三方库 如果你需要OSG的一些模型和其他数据用于测试,需要下载OpenScene...

封狼居胥 1867

OSG第三方依赖库快速编译与环境搭建实战指南

关键:指向你刚才 install 的路径✅ 推荐使用导入目标,自动处理依赖传递。回头看这一整套流程,表面上是在讲的使用方法,实际上是在传递一种工程思维:复杂系统的稳定性来自于可控的自动化流程。你不需要每次都重新发明轮子,但你必须理解轮子是怎么转的。从版本选择、工具链配置、构建优化,到安装验证、项目集成、长期维护——每一个环节都有它的“潜规则”。掌握了这些,你才能真正做到“一次配置,处处可用”。下次当你看到那个熟悉的。

weixin_32098457的博客 983

OSG环境安装完全指南:Windows/Linux下CMake编译与避坑攻略

在三维图形开发领域,开源渲染引擎凭借其强大的场景组织与渲染能力,成为视景仿真、GIS和科学可视化等应用的重要技术基座。这类引擎通常基于OpenGL构建,通过场景图(Scene Graph)的树状结构来管理三维模型与渲染状态,并借助LOD、裁剪等机制提升大规模场景的绘制效率。然而,要真正上手这类引擎,第一步往往卡在开发环境的搭建上。以OpenSceneGraph(简称OSG)为例,从源码下载、CMake配置到第三方依赖库匹配,再到Windows与Linux双平台的编译安装,任何一个环节出错都可能导致DLL缺失

weixin_28837817的博客 151

OSG3.6.5与OSGEarth预编译3rdParty库配置指南

在Windows下搭建三维GIS开发环境时,源码编译常受制于底层依赖库的版本兼容问题。OSG(OpenSceneGraph)作为成熟的场景图渲染引擎,其插件机制和动态链接模型需要与外部库协同工作;OSGEarth基于OSG扩展了地形与GIS能力,两者共同依赖Boost、GDAL、GEOS等三方库。预编译的3rdParty包将这些二进制依赖按OSG 3.6.5的ABI规范打包,通过CMake的CMAKE_PREFIX_PATH即可集成,省去了逐个编译的繁琐流程,也降低了DLL冲突和链接错误风险。此类预编译库广

weixin_28839439的博客 230

OpenSceneGraph 3rdParty_VS2017_v141_x64_V11_full.7z

OpenSceneGraph 3rdParty_VS2017_v141_x64_V11_full.7z,发现osg官网经常就崩溃了,而且从官网下载3rdParty速度奇慢无比,我陆陆续续下载了一个礼拜才下载好,需要的朋友可以下载下来学一下~

CMake实战:从零配置OSG开发环境与首个3D窗口

本文详细指导如何使用CMake从零配置OpenSceneGraph(OSG)开发环境,涵盖Visual Studio安装、OSG库获取、CMake项目创建、库链接与DLL依赖处理。通过实战演示创建首个3D窗口及带纹理的地球模型,帮助C++开发者高效搭建跨平台3D图形开发环境,解决常见配置难题。

weixin_28834169的博客 220

极化码自适应CA-SCL译码(极化码译码)

我们知道最初极化码提出来是运用SC译码,但短码和中等长度其译码性(误码率)能不如LDPC码码,,为了提升有限长度极化码的译码性能,我们主要从译码器的性能和极化码的纠错性能来考虑。 SCL:在增加复杂度的情况下,大幅度增加极化码纠错性能,在高信噪比下,与最优ML性能相同(L=32) CA-SCL:改善最小汉明距离(最小汉明距离增大),增加其纠错性能。把CRC和极化码极联。 自适应CA-SCL:CA-SCL译码虽然提升几乎没的纠错性能,但是导致复杂度大幅度增加,为了降低其复杂度,让L自适应,从而降低其复杂度

m0_52610504的博客 3294

Windows下OSG、OSGEarth与GDAL源码编译全攻略

在三维GIS与可视化开发中,OSG、OSGEarth与GDAL是构建高性能地形渲染与地理数据处理管线的核心工具链。GDAL作为底层空间数据读写库,负责解析遥感影像与矢量格式;OSG提供场景图与渲染抽象;OSGEarth则专注于地形与地图的实时可视化。三者的源码编译在Windows环境下常因依赖库、CMake配置与运行时库不一致而陷入困境。本文从编译原理与依赖顺序出发,系统讲解GDAL→OSG→OSGEarth的完整编译流程,覆盖VS2022、CMake工具链配置、插件机制、DLL路径规划及常见链接错误排查。

weixin_28677451的博客 209

在Mac下配置用VSCode编写C/C++程序的环境

前言    最近需要编写一些C/C++程序,由于体量都不是很大所以想要追求一个轻量化的编辑和编译环境,于是想起了在Dock栏吃灰的VSCode。通过查找资料,包括VSCode的官方文档,最终配置实现了Mac下基于VSCode的C/C++编辑环境搭建。 正文    在配置环境之前先检查一下机器上都安装了什么C++编译器,通过以下两条命令可以查看是否安装了g++/clang编译器,本人两种编...

Kalikali的专栏 5万+

基于双目视觉的行车中障碍距离检测方法研究与目标跟踪

本文将介绍基于Python语言的双目视觉技术,以及如何使用该技术检测行车中的障碍物并跟踪目标。双目视觉利用两个摄像头模拟人眼的立体视觉,通过对两个摄像头所捕捉的图像进行比较和分析,可以得到物体的深度信息。首先,我们需要安装Python的OpenCV库,该库提供了丰富的图像处理和计算机视觉功能。接下来,我们进入一个循环中,不断读取左右图像,并将其转换为灰度图像。在视差图上,您可以实现目标检测和跟踪算法来识别和跟踪行车中的障碍物。请注意,上述代码只是一个简单示例,您可以根据具体需求和算法进行修改和扩展。

ZgnObjectivec的博客 277
上一篇: OSG模拟鼠标事件影响操纵器
下一篇: 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)
荆楚闲人
博客等级 码龄20年 3万+粉丝 473原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值