我有一种感觉,因为我尝试从源代码编译SDL 1.3,然后从Ubuntu repos安装SDL 1.2。
仍然,我尝试删除SDL 1.3标头(默认情况下位于usr/local/include
),并在链接器的qmake文件中包含必要的libs / include路径,但它仍然没有显示。 ..
因此,有什么我做错了吗?
这是我的代码。
应该创建窗口的方法
bool CApp::onInit() {
if (SDL_Init(SDL_INIT_EVERYTHING) < 0) {
return false;
}
bool surf_displayIsNull = ((this->surf_display = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF)) == NULL);
if (surf_displayIsNull) {
return false;
}
return true;
}
调用它的代码
int CApp::onExecute() {
if (onInit() == false) {
return -1;
}
SDL_Event event;
while(running) {
while(SDL_PollEvent(&event)) {
onEvent(&event);
}
onLoop();
onRender();
}
onCleanup();
return 0;
}
我的qmake文件
SOURCES += \
main.cpp \
capp.cpp \
capp_oninit.cpp \
capp_onevent.cpp \
capp_oncleanup.cpp \
capp_onloop.cpp \
capp_onrender.cpp
LIBS += -L/usr/lib -lSDL -lSDLmain
INCLUDEPATH = usr/include
HEADERS += \
capp.h
更新
根据某人的建议尝试了以下操作,但它没有用。
this->surf_display = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
if (this->surf_display == NULL) {
return false;
}