aboutsummaryrefslogtreecommitdiff

electron-ppapi-example

Пример Pepper Plugin (PPAPI) для Electron (Chromium), который рисует вращающийся куб на OpenGL (GLES2).

Linux

Нужен wget, gcc (g++) и python 2.7.

./setup-linux.sh
./build-linux.sh
./run-linux.sh

macOS

Тоже нужен wget, g++ (наверное, это Xcode устанавливает /usr/bin/g++) и python 2.7.

./setup-macos.sh
./build-macos.sh
./run-macos.sh

Windows

  • Нужен git, bash (я ставил отсюда https://git-scm.com/download/win и там сразу и то и другое), curl, Visual Studio.
  • ./setup-win.sh (или руками сделать то что в скрипте)
  • Открыть solution в VS, убедиться что стоит Release и x86 и запустить сборку.
  • Если ругается на несовпадение версий, пересобрать либу тем же компилятором, для этого открыть "Developer Command Prompt" вашей версии VS, зайти в nacl_sdk/pepper_49/src и сделать make TOOLCHAIN=win PROJECTS="ppapi ppapi_cpp ppapi_gles2 pthreads".
    • Если завершается без сборки, надо руками удалить объектники из nacl_sdk/pepper_49/src/{$project}/win. Если либа не создается в nacl_sdk/pepper_49/lib/win_x86_32_host или создается в другом месте, проверить, что переменная NACL_SDK_ROOT указывает на правильную папку (nacl_sdk/pepper_49).
    • Если не собирается pthreads и ругается на struct timespec, то открыть nacl_sdk/pepper_49/include/win/pthread.h и после #define PTHREAD_H добавить #define HAVE_STRUCT_TIMESPEC.
  • Когда все готово, запустить .\electron32\electron.exe . и магия должна случиться.

Это про 32-х битный плагин. x64 что-то пока плохо работает (зависает при запуске).