使用msys2构建OSG程序

本文介绍了如何在Windows上利用msys2搭建环境,从安装msys2,配置国内源,到安装gcc工具链和OpenSceneGraph,详细阐述了构建OSG程序的步骤。此外,还提到了相关技术如QtCreator、CMake和源码编译的探索方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

让我们先从两个小故事开始:

故事一

Unix在研发成功不久后,便被放在贝尔实验室供大家使用。

有一天,大家发现两位创始人总是可以得到最高的权限,轻松地进入他们的帐户!

在贝尔实验室这种高人云集的地方,这简直是太不能容忍的事情了。于是,若干愤懑的同事仔细分析Unix代码,找到后门,修改后再重新编译整个Unix程序。

当所有人都以为这个世界应该从此清静了的时候,却发现他们的帐户权限还是很容易泄露。

直到很多年后,丹尼斯里奇才道出其中的原委:原来,代码里确实存在后门,不过并不在Unix代码中,而是藏在编译Unix的编译器里。

故事二

1997年,由于喜欢滑翔机运动且对计算机图形学非常熟悉,Don Burns在 IRIX上写了一个控制滑翔机的小引擎,这便是 OSG 的最初雏形。

一年后,他在滑翔机爱好者邮件列表中遇到了 Robert Osfield,这对OSG的命运起到了决定性的改变!

注:

  • OSG全称OpenSceneGraph最初是在IRIX系统上构建的开放源代码,跨平台的三维引擎。

  • IRIX是SGI公司的图形工作站,基于BSD UNIX的操作系统;另外最初版的OpenGL是SGI公司制定的标准。

准备

UNIX、编译器、OpenGL、OSG这些科技名词可能会让极客心跳加速,有想了解,并从头构建的冲动。

自从棱镜门事件,到中兴、华为被美国、西欧制裁这段时间,国产化一再被提及。信息技术代表了最新进的生产力,在中国,信息化被确定为国家核心战略之一。一个无法回避的事实是,全球IT核心技术大多掌握在欧美国家手中,逐步缩小并超越国外先进信息技术,尽早打破国外的技术垄断,是我国的信息化建设的必然选择。

从头开始构建,被程序圈戏称为“造轮子”。

某些人给的解释是:明知道你做的不可能比前辈做

<think>好的,用户需要查找在MSYS环境下安装OpenSceneGraph(OSG)的教程或指南。首先,我得回忆一下MSYS2的相关知识。MSYS2是一个在Windows上提供类Unix环境的工具,支持使用pacman包管理器安装软件包。根据用户提供的引用内容,特别是引用[3]提到了使用msys2构建OSG程序,这应该是关键信息。 接下来,我需要确认OSG是否在MSYS2的官方仓库中。通常,可以通过pacman命令搜索包,比如`pacman -Ss openscenegraph`。如果存在,直接安装即可;如果不存在,可能需要从源码编译。 用户提供的引用[3]还提到了配置镜像源,这对加速下载很重要。需要指导用户编辑mirrorlist文件,替换为国内镜像,如中科大的源。此外,引用[4]提到在Windows下构建时可能缺少MSYS2环境,导致configure错误,这也说明安装MSYS2的必要性。 然后,安装依赖项是关键步骤。OSG依赖如OpenGL、FFmpeg等库,需要确保这些依赖通过pacman安装。例如,`pacman -S mingw-w64-x86_64-toolchain base-devel`安装编译工具链,再安装其他所需库。 如果OSG不在仓库中,用户需要从源码构建。这时,步骤通常包括下载源码、配置、编译和安装。引用[3]中的配置镜像源可能在此过程中有帮助,确保下载依赖时速度更快。同时,需要注意环境变量的设置,确保编译器能找到依赖库。 可能遇到的问题包括PGP签名错误,如引用[5]所述,需要更新密钥环。此外,构建时可能遇到的子系统识别问题,如引用[4]中的错误,可能需要安装更多MSYS2组件或指定构建参数。 最后,建议用户参考OSG的官方文档和社区资源,如邮件列表或论坛,获取更详细的指导。同时,提醒他们在MSYS2环境下使用Mingw-w64工具链进行编译,避免环境冲突。 总结步骤应该是:配置镜像源→安装工具链和依赖→安装或编译OSG→验证安装。过程中需注意环境配置和可能出现的错误处理。</think>### 在MSYS2环境下安装OpenSceneGraph(OSG)的指导 #### 1. **配置MSYS2镜像源(加速下载)** 参考引用[3],需修改MSYS2的镜像源文件: - 编辑`/etc/pacman.d/mirrorlist.mingw64`,添加国内镜像源(如中科大)到文件开头: ``` Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64 ``` - 运行以下命令更新软件包数据库: ```bash pacman -Sy ``` #### 2. **安装编译工具链** ```bash pacman -S --needed base-devel mingw-w64-x86_64-toolchain ``` 这会安装GCC、Make等必要工具。 #### 3. **安装OSG依赖库** OpenSceneGraph依赖多个库,需通过`pacman`安装: ```bash pacman -S mingw-w64-x86_64-openscenegraph mingw-w64-x86_64-opengl mingw-w64-x86_64-ffmpeg ``` 如果仓库中存在`mingw-w64-x86_64-openscenegraph`,则直接完成安装;若无,需手动编译。 #### 4. **从源码编译OSG(若仓库无预编译包)** - **下载源码**: ```bash git clone https://github.com/openscenegraph/OpenSceneGraph.git cd OpenSceneGraph ``` - **配置编译环境**: ```bash mkdir build && cd build cmake .. -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=/mingw64 ``` - **编译并安装**: ```bash make -j4 make install ``` #### 5. **验证安装** ```bash osgversion ``` 若输出版本信息,则安装成功。 #### 6. **常见问题解决** - **PGP签名错误**:参考引用[5],更新密钥环: ```bash pacman-key --refresh-keys ``` - **子系统识别问题**:若出现类似引用[4]的错误,需确保`msys2`环境变量正确设置,或通过`conan`指定`build_requires`。 ### 相关引用 - MSYS2镜像配置[^3] - 构建工具链安装[^2][^3] - 子系统兼容性问题[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值