Как собрать cocos2dx с помощью emscripten

Я столкнулся с проблемой, когда пытаюсь собрать простой проект из исходного кода с помощью emscripten. Позвольте мне описать мои действия шаг за шагом:

  1. Я использую убунту 14.04 LTS.
  2. установить emscripten (я следовал инструкциям)
  3. установить cocos2dx (я следовал инструкциям на github)
  4. Я создал новый проект (я также следовал инструкциям на github), собрал его для Linux и запустил, он работает хорошо.
  5. Следующий шаг, который я попытался создать для Интернета, используя emscripten в каталоге проекта, который я ввел в консоль:

    cmake -DCMAKE_CXX_COMPILER=em++ -DCMAKE_CC_COMPILER=emcc

    делать

Во-первых, у меня ошибка с CC_DLL в tinyxml2.h, я удалил 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 и много таких же ошибок, и я не знаю, что делать...

Не могли бы вы помочь мне, пожалуйста, как это исправить?

Спасибо за любую помощь!


person Mike    schedule 14.01.2017    source источник


Ответы (1)


Вы можете попробовать использовать emscripten-порт cocos2d. Просто добавьте -s USE_COCOS2D=3 в свою сборку.

Я поддерживаю этот порт, и я уже портировал с ним несколько игр cocos2dx.

Теперь этот порт сливается только с входящей веткой. Кроме того, вы можете запустить проект cocos2d hello world с помощью этой команды:

python tests/runner.py browser.test_cocos2d_hello
person caiiiycuk    schedule 28.03.2017
comment
Спасибо за помощь! Есть ли учебник по созданию тестового проекта (краткий старт, руководство или какое-то руководство)? - person Mike; 01.04.2017
comment
Вы можете посмотреть тест «cocos2d_hello» в файлеtests/test_browser.py. Добавления только флага -s USE_COCOS2D=3 должно быть достаточно для сборки исходного файла игры cocos2d. (./emcc -s USE_COCOS2D=3 game.cpp -o game.html) - person caiiiycuk; 02.04.2017
comment
Я пробовал компилировать (github.com/emscripten-ports/Cocos2d) make -s USE_COCOS2D =3 -s STB_IMAGE=1 ошибки: AR /Cocos2d/lib/linux/release/libchipmunk.a CXX obj/release/CCBReader/CCBFileLoader.o В файле, включенном из CCInvocation.h:33:0, из CCNodeLoader.h:4 , из CCBFileLoader.h:4, из CCBFileLoader.cpp:1: CCObject.h:106:39: ошибка: ISO C99 требует пробела после имени макроса [-Werror] #define EMULATE_FUNCTION_POINTER_CASTS=1 cc1plus: все предупреждения рассматриваются как ошибки make[1]: *** [CCBFileLoader.o] Ошибка 1 make: *** [libextensions] Ошибка 2 - person Mike; 08.04.2017
comment
И не могли бы вы сказать мне, для какой версии порта cocos2dx готов? - person Mike; 08.04.2017
comment
Вам не нужно компилировать escripten-ports/cocos2d. Вы должны установить входящий emscripten sdk, а затем собрать проект cocos2d с emcc и флагом USE_COCOS2D=3. Версия Cocos2d 3.0-pre, также работает с проектами v2 с небольшими изменениями. Вы можете спросить меня напрямую по почте caiiiycuk на gmail.com - person caiiiycuk; 11.04.2017