如何将Celestia构建到Android?

gho*_*ost 15 c++ 3d android

Celestia是一个用于空间实时三维可视化的华丽应用程序,具有太阳系的详细模型,超过100,000颗恒星,超过10,000个星系,以及用于添加更多物体的扩展机制.

它可以运行在windows,mac os,linux,freeBSD上,然后是否有任何Android端口呢?或者如何构建或移植到Android?

Lau*_*van 1

根据 Spektre 的评论并快速浏览一下 ,您需要:

  1. 获取代码(从SVNGit fork
  2. 将 automake 构建系统转换为 NDK
  3. 将所有依赖于 linux 的代码替换为 android NDK(例如 opengl),或者更好的是添加一个新平台
  4. 构建新的用户界面。也许你可以从 Qt 中获得一些用法,因为它可以在 Android 上运行

需要考虑的一些事项:

  • 代码库大约20万行,c/c++
  • 有一些可选的依赖项(例如 lua)和一些强制(?)依赖项(例如 OpenGL 库)
  • 您需要仔细查看各个模块。例如,“celengine”包含大部分 OpenGL 代码。

恕我直言,这是一件很难做到的事情(过去几年我自己在操作系统之间做了很多移植,尽管代码库较小)。我的方法是使用可用的数据构建一个新事物(lib、app),并及时添加功能和 NDK 组件。