我一直在阅读OpenGL游戏的跨平台开发。我们正在研究开发一款游戏,Linux用户也可以使用它。然而,我却遇到了一些我不太感兴趣的东西。便携式Linux与OpenGL/Mesa3D兼容的可执行文件
如何创建一个可移植的linux可执行文件?特别是如何让各种不同版本的OpenGL/Mesa3D在一个(或多个)可执行文件中工作(我们不想分发源代码)。
在Linux上的问题http://www.linuxquestions.org/questions/linux-software-2/hardware-acceleration-using-opengl-and-x11-876634/有人详细介绍了Mesa3D/OpenGL是如何工作的,但是我很难看到的是如何在编译的可执行文件中使用每个发行版的Mesa3D版本(甚至不知道它是否是可能)。
从我能告诉我需要动态链接在每个用户机器上的应用程序的一部分,可能通过使用安装程序?如果是这种情况,我们可以在运行时编译程序并链接到Mesa3D/OpenGL,就像OpenGL的dll可以在Windows上执行的一样吗?
您可以使用与'.dll'相似的共享对象('.so')。推荐的方法是预编译用户可以轻松安装的“包”(即'.deb','.rpm')。这些软件包可以声明对其他软件包的依赖关系,即特定版本的库,然后将自动安装。应该有大量的教程在那里打包。 – amon 2012-07-17 20:06:03
是的,你只需要链接到'libGL.so.1' – 2012-07-17 20:07:39
保存你自己的麻烦,并使用[GLEW](http://glew.sourceforge.net/)。 – 2012-07-18 03:40:23