c++ - 如何使用 emscripten 构建 cocos2dx

标签 c++ emscripten cocos2d-x-3.x

当我尝试使用 emscripten 从源代码构建简单项目时,我遇到了问题。让我逐步描述我的行为:

  1. 我使用的是 ubuntu 14.04 LTS
  2. 安装 emscripten ( I have followed instructions )
  3. 安装 cocos2dx ( I have followed instructions on the github )
  4. 我已经创建了新项目(我也遵循了 github 上的说明),为 linux 构建它并运行,它运行良好。
  5. 下一步我尝试在我在控制台中输入的项目目录中使用 emscripten 构建 web:

    cmake -DCMAKE_CXX_COMPILER=em++ -DCMAKE_CC_COMPILER=emcc

    制作

首先,我发现 tinyxml2.h 中的 CC_DLL 出错,我删除了 CC_DLL,然后重新运行。然后我在目录“unzip”中出现未知包含错误(我已将 zlib.h 和 zconf.h 复制到目录)并重新运行。 然后我在 GLubyte 中遇到错误 - 使用未声明的标识符,我添加了:

#include <SDL/SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>

然后重新运行 然后我有错误 使用未声明的标识符“glDeleteBuffers”;在目录/cocos /2d/CCCameraBackgroundBrush.cpp 和许多相同的错误,我不知道该怎么办...

你能帮我解决一下吗?

感谢您的帮助!

最佳答案

你可以尝试使用cocos2d的emscripten-port。只需将 -s USE_COCOS2D=3 添加到您的构建中即可。

我维护这个端口,我已经用它移植了几个 cocos2dx 游戏。

现在这个端口只合并到传入分支。此外,您可以使用以下命令运行 cocos2d hello world 项目:

python tests/runner.py browser.test_cocos2d_hello

关于c++ - 如何使用 emscripten 构建 cocos2dx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41653918/

相关文章:

c++ - 编写 C++ SOAP(多线程)客户端应用程序 - 不使用 gSOAP

c++ - 我们应该在带有 char *func(char *string) 的函数中返回什么?需要简要说明这与 c 中的 char[] 有何不同?

c++ - Char 指针与传递给函数的 Int 指针

javascript - 如何使用 opencv_contrib 构建自定义 opencv.js

javascript - 来自 C 代码的异步 javascript 库调用完成得太晚

javascript - 我可以以某种方式构建 webassembly 代码*没有* emscripten "glue"吗?

c++ - 如何检查 cocos2d-x v3.1 中的特定冲突? C++

c++ - 如何有效地从给定另一个 vector 的 vector 中删除元素