1
SDL2를 실행하는 코드의 예는 찾을 수 없으며 Derelict SDL2를 사용하여 DMD2에서 다음 코드를 컴파일하려고하면 위의 오류가 발생합니다. SDL2를 초기화하는 새로운 절차가 있습니까?오류 : 정의되지 않은 식별자 : DMD2에서 SDL2를 컴파일 할 때의 SDL_SetVideoMode
코드는 :
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이로드되고 초기화됩니다. 누구든지 단서가 있습니까?