将库与 emscripten 一起使用
Using libraries with emscripten
我刚刚开始使用Emscripten,想开始使用GLFW和其他库。我完全不知道如何使用 Emscripten 构建、链接和使用其他库。
我尝试按照 Emscripten 网站上的说明进行操作,但他们对我没有帮助。http://kripken.github.io/emscripten-site/docs/compiling/Building-Projects.html#using-libraries
有没有关于如何将库与 Emscripten 一起使用的详细说明?或者特别是GLFW?
Emscripten提供很少的库。这些库是在 emscripten C++ 代码(音频、输入、视频)上获得一些操作系统功能的最低要求。
- 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 库时,才能为 emscripten 编译库。(或者如果你知道如何包装JavaScript功能并通过C接口公开它们)
此外,在使用 Emscripten 时,尽量避免仅使用模板库,它们实际上会产生大量膨胀的代码,您可以轻松地将可执行文件大小增加几 MB:如果您已经在使用 Boost 或 UBLAS,这是一个问题。
由于 GLFW 不是自动链接的库之一,因此应将其与以下库链接:
-lglfw
你可以在这里找到一个使用Emscripten的OpenGL项目示例:
https://github.com/QafooLabs/emscripten-opengl-example
可以通过打开生成文件来检查链接器标志
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 将fold表达式与std::一起用于两个元组
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 将 std::allocate_shared 与多态资源分配器一起使用
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 将 exprtk 与自定义类的对象一起使用
- 将 std::set 与基于键的比较器一起使用
- 将 C++ 类与 Rcpp 一起使用,从 C 或 R 修改它
- 如何将 Eigen::Ref 与 pybind11 一起使用?
- 如何将AERT_Allocate与 std:vector 一起使用
- 如何将 Emscripten 工具链与 biicode 一起使用
- 将库与 emscripten 一起使用