其他分享
首页 > 其他分享> > 如何将PC游戏移植到用C语言编写的Android

如何将PC游戏移植到用C语言编写的Android

作者:互联网

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

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

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

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

我将SDL及其扩展名用于PC上的音频,但是它易于使用.我可以为Android使用特定的音频库.

谢谢

解决方法:

Can I compile libjpeg, libpng and freetype for Android?

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

此外,正如您正确指出的那样,您将必须使用NDK将Java(Android app / fwk)与本机世界(C)进行接口.

尽管按照我的经验听起来很简单,但在Android上编译本机库(Android porting)传统上非常耗时,而且无法保证成功.

标签:porting,c,android
来源: https://codeday.me/bug/20191023/1913433.html