首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将PC游戏移植到用C++编写的安卓系统

如何将PC游戏移植到用C++编写的安卓系统
EN

Stack Overflow用户
提问于 2011-02-21 11:54:44
回答 1查看 5.8K关注 0票数 4

我想创建一个像太空入侵者这样的简单游戏。我知道我可以使用Android NDK,但我必须移植我使用的库。我不能使用第三方专有库。

我将使用OpenGL,但OpenGL接口在安卓上似乎有所不同。我必须使用jpeg和png纹理,并编写文本。我能为Android编译libjpeg、libpng和freetype吗?

我不能有游戏引擎(C++)和渲染例程(C++和OpenGL)的具体实现,因为这是复杂的部分。

我准备为每个平台实现一些组件。窗口系统和用户输入没有问题,因为我将为每个系统使用特定的实现,这对我来说很简单。

我在PC上使用SDL和它的音频扩展,但它很容易使用。我可以使用Android的特定音频库。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-21 13:09:26

我能为Android编译libjpeg,libpng和freetype吗?

是的,你必须重新编译所有专门针对Android的本地库。是的,你确实需要你计划使用的所有第三方原生库的源代码,因为通常当我们在Android之外编译和链接这些库时,它们都链接到glibc,但不幸的是,由于列表和性能问题,Android不使用glibc。Android使用的是glibc的精简版本libc。它具有与glibc相匹配的符号名称,以实现大多数常用功能。但据我所知,libc没有一些与String相关的功能,它也绝对没有一些posix支持。如果您的本地库正在使用任何不推荐使用的功能,则必须通过使用libc支持的替代功能并相应地对库进行编码来找到解决方法。

此外,正如你正确地指出的那样,你将不得不使用NDK来将Java(Android app/fwk)接口到原生世界(C++)。

虽然这听起来很简单,但根据我的经验,在Android上编译本地库(Android移植)传统上是非常耗时的,并且不能保证成功。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5062132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档