Не могу запустить SDL(2) в Ubuntu, Нет доступного видеоустройства
Когда я пытаюсь запустить мою программу, я получаю следующее сообщение об ошибке:
SDL could not initialize! SDL_Error: No available video device
У меня установлены все необходимые библиотеки SDL, и в настоящее время я использую Ubuntu 15.10.
Вот мой простой SDL-код:
#include <stdio.h>
#include "SDL2/SDL.h"
//Screen dimension constants
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
int main(int argc, char* argv[])
{
//The window we'll be rendering to
SDL_Window* window = NULL;
//The surface contained by the window
SDL_Surface* screenSurface = NULL;
//Initialize SDL
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
{
printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError());
}
else
{
//Create window
window = SDL_CreateWindow("SDL Tutorial",SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH,
SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
if (window == NULL) {
printf("Window could not be created! SDL_Error: %s\n", SDL_GetError());
}
}
return 0;
}
Библиотека SDL2 правильно связана с моим C-проектом.
1 ответ
Это сообщение об ошибке появляется, когда в SDL2 нет встроенного видеодрайвера для вашей системы отображения (X11, Mir, Wayland, RPI ...). Вы установили пакет SDL2 из репозитория Ubuntu или скомпилированы из исходного кода? При компиляции из исходного кода вы должны убедиться, что поддерживаемые видеодрайверы будут встроены в двоичный файл в конце шага "Настройка". В противном случае вам необходимо установить необходимые заголовки для разработки (для X11 и Mir).