2016-04-07 8 views
3

Wenn ich versuche, mein Programm ich die folgende Fehlermeldung auszuführen:kann nicht ausgeführt werden SDL (2) auf Ubuntu, keine verfügbaren Videogerät

SDL could not initialize! SDL_Error: No available video device 

Ich habe alle notwendigen SDL-Bibliotheken installiert und ich m aktuell laufende ubuntu 15.10

Hier ist mein einfacher SDL-Code ist:

#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; 
} 

Die SDL2 Bibliothek sind mein C-Projekt korrekt verbunden.

+0

Konnten Sie das funktionieren? Führst du es aus der Finsternis heraus? Ich habe ein sehr ähnliches Problem, aber beachte, dass ich ohne Probleme die ausführbare Datei vom Terminal aus ausführen kann. – kabdulla

+0

Wenn Sie innerhalb der Finsternis laufen, haben Sie eine gute Chance, dass Sie das gleiche Problem haben, das ich habe. Siehe Antwort [hier] (http://stackoverflow.com/questions/43220318/c-executable-runs-from-command-line-but-not-from-eclipse). – kabdulla

Antwort

2

Diese Fehlermeldung tritt auf, wenn in Ihrem SDL2 kein Grafiktreiber für Ihr Anzeigesystem (X11, Mir, Wayland, RPI ...) integriert ist. Haben Sie das SDL2-Paket vom Ubuntu-Repository installiert oder von der Quelle kompiliert? Bei der Kompilierung aus der Quelle sollten Sie überprüfen, ob die unterstützten Grafiktreiber am Ende des Schritts "Konfigurieren" in die Binärdatei integriert werden. Andernfalls müssen Sie die erforderlichen Entwicklungs-Header (für X11 und Mir) installieren.