OpenSceneGraph for Android编译

本文详细介绍了如何在Windows环境下通过Linux子系统编译OpenSceneGraph (OSG) 3D渲染引擎,并生成适用于Android平台的so库文件。同时,还提供了如何配置Android Studio以运行官方示例项目的步骤。

OpenSceneGraph是一款多平台的3D场景渲染引擎API,以下简称为了OSG,OSG的官网只提供了源码,想使用的话必须自己手动编译。这里以官方的3.6.5版为例讲解如何编译出能在Android平台使用的so包,并成功的运行官方的Demo程序。

官方推荐编译最好在Linux环境下进行,但因为我的Android Studio却是运行在Windows 10下的,所以最好的办法就是给Windows10装了个Linux子系统,进入“程序和功能”>“启用和关闭Windows功能”。然后在拉到底部勾选“适用于Linux的Windows子系统”,等上几分钟后这个功能就装完了。

然后在Windows10的应用市场Microsoft Store里搜索Ubuntu并安装就可以了,这样装出来的Ubuntu是没有图形界面只有字符界面的,但已经能满足编译的需要了。

首次进入Ubuntu时会要求你创建一个用户号,然后对Ubuntu该升级的升级,改安装的安装,主要是把cmake gcc这些程序都要装上。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake -y
sudo apt install build-essential -y

然后去Github上下载最新的3.6.5的压缩包:https://github.com/openscenegraph/OpenSceneGraph/tree/OpenSceneGraph-3.6.5


然后对压缩包进行解压,为了便于之后将其复制到Ubuntu下使用,我就直接解压到c盘并且把目录命名为了OpenSceneGraph。

由于OSG的编译还需要用到第三方的代码包3rdParty,但可惜的是官网并并不提供下载,需要我们自己到网上去下载,然后将下载的压缩包解压到OpenSceneGraph\3rdParty目录下。

接着我们需要下载Android NDK,可以直接从官网上下载:
https://developer.android.google.cn/ndk/downloads/index.html?hl=zh-cn
下载完毕后依旧是解压到C盘。

OSG和NDK都下载解压完了之后就可以复制到Ubuntu系统上了,这里我推荐用命令方式复制:

sudo cp -r /mnt/c/OpenSceneGraph /home/xrf/
sudo cp -r /mnt/c/android-ndk-r21c /home/xrf/

在OSG365目录下新一个build目录用以存放编译后的文件,并授予全部的权限,如果忘记授权的话可能会因为权限不够而报错。

cd OpenSceneGraph
mkdir build
cd ../..
sudo chmod -R 777 osg365/

接着直接在build目录下开始编译

cmake ../ -DANDROID_NDK=/home/xrf/Android/android-ndk-r21e -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/xrf/Android/android-ndk-r21e/build/cmake/android.toolchain.cmake -DANDROID_STL=c++_static -DCMAKE_CXX_FLAGS="-std=c++11 -frtti -fexceptions -stdlib=libc++ -DUSE_ZLIB" -DANDROID_TOOLCHAIN

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Greentea107

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

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

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

打赏作者

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

抵扣说明:

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

余额充值