使用带有emscripten的库

时间:2014-12-27 16:00:23

标签: c++ glfw emscripten

我刚刚开始使用Emscripten,并希望开始使用GLFW和其他库。我完全迷失了如何使用Emscripten构建,链接和使用其他库。

我已尝试按照Emscripten网站上的说明操作,但他们还没有帮助我。 http://kripken.github.io/emscripten-site/docs/compiling/Building-Projects.html#using-libraries

是否有任何地方有关于如何使用Emscripten库的详细说明?或者特别是GLFW?

1 个答案:

答案 0 :(得分:7)

Emscripten为自己提供的库很少。这些库是在emscripten C ++代码(音频,输入,视频)上获得一些OperativeSystem功能的最小值

  • libc :C
  • 的标准库
  • libc ++ :C ++标准库
  • SDL :SimpleDirectmediaLayer(SDL 1.X是一个开源跨平台项目)
  • GLES2 :OpenGL ES 2 API
  • GLFW :GLFW 2.X

例如,在Emscripten中包含OpenGLES2的标准方法是:

#include <GLES2/gl2.h>

包括GLFW:

#include <GL/glfw.h>

有一些废话,因为如果你想使用最新版本的GLFW,你就是不能,因为Emscripten只提供了1个版本的库,你必须坚持下去(除非Emscripten对此进行更新并更新Emscripten)。

只有在可以使用上面列出的一个(或多个)库编译库时,才能为emscripten编译库。 (或者如果你知道如何包装javascript函数并通过C接口公开它们)

另外,在使用Emscripten时,尽量避免使用模板库,它们会产生大量膨胀代码,您可以轻松地将可执行文件大小增加几MB:如果您已经在使用Boost或UBLAS,这是一个问题。

由于GLFW不是自动链接的库之一,因此您应将其链接到:

-lglfw

您可以在此处找到使用Emscripten的示例OpenGL项目:

https://github.com/QafooLabs/emscripten-opengl-example

您可以通过打开makefile来检查链接器标志