gpt4 book ai didi

c++ - 如何将用 C++ 编写的 PC 游戏移植到 Android

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:44 25 4
gpt4 key购买 nike

我想创建一个简单的游戏,例如 Space Invaders。我知道我可以使用 Android NDK,但我必须移植我使用的库。我不能使用第三方专有库。

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

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

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

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

谢谢

最佳答案

Can I compile libjpeg, libpng and freetype for Android?

是的,您必须专门为 Android 重新编译所有 native 库。是的,您确实需要您计划使用的所有第 3 方 native 库的源代码,因为通常当我们在 Android 外部编译和链接这些库时,它们会链接到 glibc,但不幸的是,由于许可和性能问题,Android 不使用 glibc。 Android 使用称为 libc 的 glibc 的简化版本。对于大多数常用功能,它具有与 glibc 匹配的符号名称。但据我所知,libc 没有一些与字符串相关的功能,而且它绝对没有一些 posix 支持。如果您的 native 库正在使用任何已弃用的功能,您将必须通过使用 libc 支持的替代功能并相应地对您的库进行编码来找到解决这些问题的方法。

此外,正如您正确指出的那样,您将必须使用 NDK 将 Java(Android 应用程序/fwk)连接到本地世界(C++)。

尽管根据我的经验,这听起来很简单,但在 Android(Android 移植)上编译 native 库历来非常耗时,而且无法保证成功。

关于c++ - 如何将用 C++ 编写的 PC 游戏移植到 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com