2016-06-12 7 views
3

OpenGL + SDL2プログラムを作成し、Emscriptenを使用してコンパイルしたいと考えています。しかし残念ながら、私は含んでエラーが発生しますので、私も、それを起動することはできません。異なるタイプのtypedefの再定義(Emscripten SDL2 + OpenGL)

#include <iostream> 
#include <string> 

#include <emscripten.h> 

#include <SDL.h> 
#include <SDL_image.h> 
#include <SDL_ttf.h> 

#define GLFW_INCLUDE_ES2 
#include <GL/glew.h> 
#include <SDL_opengles2.h> 
#include <GL/glu.h> 

エラーです:

D:\Emscripten\emscripten\1.35.0\system\include\GLES2/gl2.h:39:26: error: 
     typedef redefinition with different types ('khronos_ssize_t' (aka 'long') 
     vs 'ptrdiff_t' (aka 'int')) 
typedef khronos_ssize_t GLsizeiptr; 

#define GLFW_INCLUDE_ES2ラインは後に追加されましたが、それは解決していません問題。

私はそれがこのパラメータを使用してコンパイル

USE_SDL=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS=['png'] -s USE_SDL_TTF=2 
+0

:秘術エンジニアへ

クレジット、ここでは彼の答えを参照してくださいC++プログラムのためのCのグラフィックAPIを使用した理由は? SFMLのようなグラフィックapiは、C++プログラムにはるかに適応しています。 – Boiethios

答えて

1

GLEWの公式バージョンは、すべてで唯一のデスクトップOpenGLをOpenGL ESのをサポートしていません(それはまだほとんどのデスクトップ上で動作することができているにもかかわらずOpenGLESは、モバイルデバイス用です

だから、古典的なOpenGL(モバイルでは動作しません)を使用するか、手を取り除く必要があります。

OpenGL ESをサポートしているLinaroのglew-esなど、いくつかの非公式なフォークが存在することに注意してください。好奇心からhttps://stackoverflow.com/a/31474052/5085551

関連する問題