1
SDL2を実行しているコードの例が見つからず、Derelict SDL2を使用してDMD2で次のコードをコンパイルしようとすると、 SDL2を初期化するための新しい手順がありますか?エラー:未定義の識別子SDL2をDMD2でコンパイルするとSDL2が発生する
コードは次のとおり
import std.stdio;
import derelict.sdl2.sdl;
import derelict.sdl2.types;
import derelict.opengl3.gl3;
private import EventHub;
pragma(lib, "DerelictUtil.lib");
pragma(lib, "DerelictGL3.lib");
pragma(lib, "derelictSDL2.lib");
bool running=true;
SDL_Surface *screen;
class App{
private EventHub ehub;
private bool virgin=true;
private int w=1024, h=768, bpp=24;
private int flags=SDL_GL_DOUBLEBUFFER;//| SDL_FULLSCREEN
public void init(){
initSDL();
}
private bool initSDL(){
if(SDL_Init(SDL_INIT_VIDEO)<0){
SDL_Quit();
writeln("Error initializing SDL_Video");
writeln(SDL_GetError());
return false;
}
writeln("fred");
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 2);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
screen=SDL_SetVideoMode(w, h, bpp, flags);
return true;
}
}
void main(){
try{
DerelictGL3.load();
}catch(Exception e){
writeln("Error loading GL3");
}
try{
DerelictSDL2.load();
}catch(Exception e){
writeln("Error loading SDL");
}
App a=new App();
a.init();
}
プログラムプリント "フレッド" 画面= SDL_SetVideoMode(フラグ、H、BPP、w)の場合;ステートメントがコメントアウトされているため、SDLがロードされ、OKが初期化されています。誰にも手がかりはありますか?