Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Eine Graphik Bibliothek für C unter Linux installieren.. (Allegro, SDL, LCGI, openGL)

  1. #1
    Registrierter Benutzer
    Registriert seit
    Apr 2018
    Beiträge
    28

    Eine Graphik Bibliothek für C unter Linux installieren.. (Allegro, SDL, LCGI, openGL)

    Hallo allerseits
    Ich möchte gern unter Linux mit C graphisch programmieren, kleine Spiele und änliches.
    Dazu benötige ich eine Graphik Bibliothek die ich einbinden muss, da C/C++ dies nicht standartmäßig mitliefert, ich denke das ist vielleicht bekannt.
    Nun hab ich seid einiger Zeit versucht wahlweise Allegro, SDL und LCGI zu installieren, keines der Libs hab ich zum laufen bekommen, obwohl ich versucht habe die jeweiligen Beschreibungen zu befolgen.. Es steht immer da, dass die Library nicht gefunden werden kann.. Oder ich verstehe schon die Installationsanleitung nicht, oder es handelt sich um eine veraltete.. ZB hab ich ein C Buch wo die Lib. LCGI empfohlen wird, diese funktioniert nach der Beschreibung aber wohl unter QT3, was veraltet ist. etc..
    Ich brauche dafür dringend mal Hilfe und toll wäre eine präzise Anleitung wie ich das zum laufen bringen könnte, bin nämlich mit dem Thema echt langsam am verzweifeln... Einerseits soll ich was mit einfachem apt-get.. xxx runterladen machen, andererseits soll ich was mit build und make machen.. dann wieder irgendwas gan zanderes mit anderen Paketmanagern die unter Debian nicht gehn usw.. bin total überfordert. Meien Linux Kenntnisse sind dafür einfach zu niedrig Würd mich echt total freuen, wenn mir jemand helfen könnt!!! Egal welche Graphik Bibliothek, hauptsache ich kann mal was mit Graphiken machen und nicht nur Console.
    Ich nutze normalerweise Debian. Aber wenn es unter irgendeinem anderen Linux erklährt wird wär das auch ok.

    Danke für eure Hilfe

  2. #2
    Registrierter Benutzer Avatar von ThorstenHirsch
    Registriert seit
    Nov 2002
    Beiträge
    6.556
    Okay, ich mach's mal auf meinem Raspberry Pi vor, da läuft ja auch so was ähnliches wie Debian. Erst mal müssen wir ein paar Sachen installieren:
    Code:
    sudo apt install libsdl2-2.0 libsdl2-dev build-essential
    Da kommen noch ganz viele Abhängigkeiten hinzu, also wundere Dich nicht, wenn es am Ende 50 oder 100 Pakete sind. Als nächstes habe ich das Verzeichnis sdl_hello_world angelegt und darin 2 Dateien gespeichert:

    main.cpp
    Code:
    #include <iostream>
    #include <SDL2/SDL.h>
    
    const int WIDTH = 800, HEIGHT = 600;
    
    int main( int argc, char *argv[] )
    {
        SDL_Init( SDL_INIT_EVERYTHING );
    
        SDL_Window *window = SDL_CreateWindow( "Hello SDL World", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WIDTH, HEIGHT, SDL_WINDOW_ALLOW_HIGHDPI );
        
        // Check that the window was successfully created
        if ( NULL == window )
        {
            // In the case that the window could not be made...
            std::cout << "Could not create window: " << SDL_GetError( ) << std::endl;
            return 1;
        }
        
        SDL_Event windowEvent;
        
        while ( true )
        {
            if ( SDL_PollEvent( &windowEvent ) )
            {
                if ( SDL_QUIT == windowEvent.type )
                {
                    break;
                }
            }
        }
        
        SDL_DestroyWindow( window );
        SDL_Quit( );
        
        return EXIT_SUCCESS;
    }
    Makefile (großes M ist wichtig!)
    Code:
    # OBJS specifies which files to compile as part of the project
    OBJS = main.cpp
    
    # CC specifies which compiler we're using
    CC = g++
    
    # COMPILER_FLAGS specifies the additional compilation options we're using
    COMPILER_FLAGS = -Wall
    
    # LINKER_FLAGS specifies the libraries we're linking against
    LINKER_FLAGS = -lSDL2
    
    # OBJ_NAME specifies the name of our exectuable
    OBJ_NAME = main
    
    #This is the target that compiles our executable
    all : $(OBJS)
    	$(CC) $(OBJS) $(COMPILER_FLAGS) $(LINKER_FLAGS) -o $(OBJ_NAME)
    Jetzt kannst Du's kompilieren...
    Code:
    make
    ...und aufrufen:
    Code:
    ./main
    Hier ist "./" vor "main" wichtig. Jetzt sollte ein Fenster mit dem Titel "Hello SDL World" erscheinen. Tadaaaaa!
    ¡Nuestro amigo... el Computador!

  3. #3
    Registrierter Benutzer
    Registriert seit
    Apr 2018
    Beiträge
    28
    Hallo, danke für deine Antwort/Hilfe, leider funktioniert es nicht..
    Die von dir beschriebene Datei Makefile hat scheinbar Fehler..
    da steht zeile so nach dem Befehl make:

    cc main.cpp -Wall -o
    cc: error: missing filename after ‘-o’
    make: *** [all] Fehler 1

    also irgendwas scheint der noch zu erwarten..

    Hat das denn bei dir so funktioniert?

    und die von dir angegebe lib die ich installieren sollte, hat er nicht gefunden leider.

  4. #4
    Registrierter Benutzer Avatar von ThorstenHirsch
    Registriert seit
    Nov 2002
    Beiträge
    6.556
    Hmm... tippst Du ab oder benutzt Du copy&paste?
    ¡Nuestro amigo... el Computador!

  5. #5
    Registrierter Benutzer
    Registriert seit
    Apr 2018
    Beiträge
    28
    Hallo, ich hab erst copy&paste benutzt und dann nochmal die Zeilen überprüft. Was hab ich da nun falsch gemacht? Funktioniert es denn bei dir?

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    Naja -o gibt halt an, wo das Kompilat abgelegt werden soll, von daher ist dein Makefile defekt.Wiederum passt das alles nicht so richtig zusammen, denn "cc main.cpp -Wall -o " ergibt sich so nicht. Bevor du also das Makefile auf links drehst, mal kurz in dich gehen und checken, wie dieser Befehl zustande gekommen ist.
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  7. #7
    Registrierter Benutzer
    Registriert seit
    Apr 2018
    Beiträge
    28
    verstehe ich leider nicht..
    dann muss ich mich wohl erst intensiv mit der ganzen Sache auseinander setzen das kann Monate dauern bis ich das alles zusammengesucht und kapiert habe.. wollte doch nur ein bisschen grafik programmieren. Schade

  8. #8
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.054
    Naja, C/C++ und den Umgang mit der Build-Umgebung muss man halt schon beherrschen...

    Versuch doch mal mit einer IDE wie Eclipse - vielleicht nimmt die Dir die Dinge ab, die Dich nerven...
    Ich bin root - ich darf das.

  9. #9
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    cc main.cpp -Wall -o brain.exe #
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  10. #10
    Registrierter Benutzer Avatar von ThorstenHirsch
    Registriert seit
    Nov 2002
    Beiträge
    6.556
    Zitat Zitat von Linux_C Beitrag anzeigen
    wollte doch nur ein bisschen grafik programmieren
    Na das wäre DIE perfekte Gelegenheit um etwas zu lernen. Und ja - bei mir funktioniert's genau so, wie ich es hier gepostet habe.
    ¡Nuestro amigo... el Computador!

Ähnliche Themen

  1. LCGI ( Graphik in C)
    Von nygscer im Forum Linux Allgemein
    Antworten: 5
    Letzter Beitrag: 03.08.07, 15:09
  2. wo finde ich eine einzelne fehlende datei einer bibliothek?
    Von IMehler im Forum System installieren und konfigurieren
    Antworten: 2
    Letzter Beitrag: 10.02.06, 22:11
  3. qwt-Bibliothek unter SuSE 9.1 installieren
    Von sschlarb im Forum Kompilieren von Kernel und Sourcen
    Antworten: 4
    Letzter Beitrag: 26.08.04, 10:07
  4. Bibliothek installieren. bei verstehen helfen
    Von vladonline im Forum System installieren und konfigurieren
    Antworten: 3
    Letzter Beitrag: 10.06.03, 09:40
  5. allegro libary nicht richtig installieren??
    Von Xonic im Forum System installieren und konfigurieren
    Antworten: 0
    Letzter Beitrag: 09.09.02, 01:18

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •