У меня такое ощущение, что я пытался скомпилировать SDL 1.3 из исходного кода, а затем установил SDL 1.2 из репозиториев Ubuntu.
Тем не менее я попытался удалить заголовки SDL 1.3 (по умолчанию расположенные в usr/local/include
) и включить необходимые пути libs / include в мой файл qmake для компоновщика, но он все еще не отображается ...
Таким образом, я что-то не так делаю?
Вот мой код.
Метод, который должен создать окно
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;
}