gpt4 book ai didi

c++ - 不同类型的Typedef重定义(Emscripten SDL2+OpenGL)

转载 作者:太空狗 更新时间:2023-10-29 22:59:11 26 4
gpt4 key购买 nike

我想创建一个 OpenGL+SDL2 程序,并使用 Emscripten 编译它。但不幸的是我什至无法启动它,因为我在包含时遇到错误:

#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

最佳答案

glew官方版完全不支持OpenGL ES,只支持桌面版OpenGL(OpenGLES是针对移动设备的,尽管它仍然可以在大多数台式机上运行,​​但glew并没有与之兼容)

因此您需要使用经典的 OpenGL(不能在移动设备上运行)或摆脱 glew。

请注意,存在一些支持 OpenGL ES 的非官方 glew 分支,例如 Linaro 的 glew-es。

感谢奥术工程师,请在此处查看他的回答:https://stackoverflow.com/a/31474052/5085551

关于c++ - 不同类型的Typedef重定义(Emscripten SDL2+OpenGL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com