Wer kennt graphics.h als C-Bibliothek???

Diskutiere das Thema Wer kennt graphics.h als C-Bibliothek??? im Forum Mac OS Entwickler, Programmierer.

  1. Thomas_xp

    Thomas_xp Thread Starter Mitglied

    Beiträge:
    632
    Zustimmungen:
    12
    Mitglied seit:
    05.04.2006
    Weiß einer hier wie ich folgende Datei compiliere??? Problem schein die graphics.h zu sein. Wie binde ich die beim Compilieren ein???


    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    #include <graphics.h>

    /*---------- Makros fuer die Symbole der Produktionsregeln ---------------*/
    #define F f(t-1); /* F */
    #define M phi=phi-delta; /* - */
    #define P phi=phi+delta; /* + */
    #define A_ altx=x; alty=y; altphi=phi; /* [ */
    #define _Z x=altx,y=alty,moveto((int)x,(int)y); phi=altphi; /* ] */

    double x, y, laenge, phi, delta; /* Globale Variablen */

    void f(int t);
    /*---------- main -------------------------------------------------------*/
    int main( int argc, char *argv[] )
    {
    const double PI=4*atan(1);
    int t, maxX=480, maxY=480;
    int anfWinkel = 90; /* Winkel zum Zeichnen der ersten Gerade */
    double drehWinkel = 22.5; /* Drehwinkel */
    double faktor = 0.5; /* Verkleinerungsfaktor fuer Laenge bei Rekursion */
    int rekTiefe = 7; /* Rekursionstiefe */

    delta = (drehWinkel*PI)/180; /*---- Umrechnen Winkel in Bogenmass */
    laenge = maxY/4;
    initgraph(maxX, maxY);
    for (t=1; t <= rekTiefe; t++) {
    cleardevice(WHITE);
    phi = (anfWinkel*PI)/180; /*---- Umrechnen Winkel in Bogenmass */
    x = maxX/2;
    y = maxY;
    moveto( (int)x, (int)y );
    f(t);
    laenge *= faktor;
    getch();
    }
    closegraph();
    return 0;
    }
    /*---------- f ----------------------------------------------------------*/
    void f(int t) {
    double altx, alty, altphi;

    if (t > 1) {
    F F M A_ M F P F P F _Z P A_ P F M F M F _Z
    } else {
    x += laenge*cos(-phi);
    y += laenge*sin(-phi);
    lineto( (int)x, (int)y );
    }
    }


    Im Terminal wird folgende Meldung gepostet:

    MacBook:~/programming Name$ gcc pflanze1.c -ls -lm -lg
    pflanze1.c:4:23: error: graphics.h: No such file or directory
    pflanze1.c: In function 'main':
    pflanze1.c:30: error: 'WHITE' undeclared (first use in this function)
    pflanze1.c:30: error: (Each undeclared identifier is reported only once
    pflanze1.c:30: error: for each function it appears in.)
    Kristina-MacBook:~/programming Kika$
     
  2. below

    below Mitglied

    Beiträge:
    13.562
    Zustimmungen:
    1.088
    Mitglied seit:
    15.03.2004
  3. ?=?

    ?=? Mitglied

    Beiträge:
    950
    Zustimmungen:
    14
    Mitglied seit:
    09.02.2004
  4. Thomas_xp

    Thomas_xp Thread Starter Mitglied

    Beiträge:
    632
    Zustimmungen:
    12
    Mitglied seit:
    05.04.2006
    ok. Sorry nochmal für vorhin below. War nicht böse gemeint. Wie binde ich den eine solche .h ein? Ich meine jetzt nicht in die C-Datei. Ich meine wie muss ich die im Terminal zusammen kompillieren? Die graphics.h hab ich.
     
  5. Thomas_xp

    Thomas_xp Thread Starter Mitglied

    Beiträge:
    632
    Zustimmungen:
    12
    Mitglied seit:
    05.04.2006
    Wieso nicht mit der Materia auseinandersetzen? ICh muss doch nur wissen, wie es zu der Graphikerzeugung kommt. Und bisher waren die Links nicht so toll. Und einfach irgendwoher Code kopieren mach ich nicht.
     
  6. Jools

    Jools Mitglied

    Beiträge:
    3.036
    Zustimmungen:
    46
    Mitglied seit:
    27.11.2005
    Eigene Header würde ich
    Code:
    #include "mein_header.h" 
    einbinden
     
  7. below

    below Mitglied

    Beiträge:
    13.562
    Zustimmungen:
    1.088
    Mitglied seit:
    15.03.2004
    Im ersten Google Link (in meinem Post oben) findest Du die Antwort auf Deine Frage:

    "graphics.h is a very old library for doing graphics in DOS with Borland C++ 3.x."
     
  8. Thomas_xp

    Thomas_xp Thread Starter Mitglied

    Beiträge:
    632
    Zustimmungen:
    12
    Mitglied seit:
    05.04.2006
    Danke für eure Links. Weiter bin ich leider immer noch nicht. Nachdem ich mich weiter eingelesen habe, habe ich versucht eine Installationsanleitung zu folgen und die libiary zu installieren, was aber nicht funktioniert hat.

    Ich habe die graphics.h und graphics.cpp. Kann mir einer von euch erklären wie ich damit und eine beliebigen C-Datei, die etwas zeichen soll, zum Ziel komme? Erklären für doofe wenns geht, weil ich anscheinend noch nicht so weit bin.

    Außerdem ist in dem Link zwar erklärt, was es damit auf sich hat, aber nicht wie ich aus den 3 Dateien (.h , .c und .cpp) ein Zusammenhängendes Programm mache, das mir was zeichnet...

    UND die Frage drängt sich auf, wenn dies graphics-h schon so alt ist, wird sie heut zu tage noch eingesetzt und wenn nein, was nutzt man stattdessen? Und was nutzt man auf dem Mac?? Cocoa?
     
  9. Sir_RamDac

    Sir_RamDac Mitglied

    Beiträge:
    1.188
    Zustimmungen:
    13
    Mitglied seit:
    04.11.2003
    Mh scheinbar hast du es immernoch nicht so ganz verstanden.
    Um mit C auch nur igendetwas auf den Bildschirm zu zaubern
    brauchst du eine Graphic Bibliothek die von tieferen Betriebs-
    systemfunktionen abstrahiert. Zum Beispiel OpenGL. Einen Link
    mit Schritt fuer Schritt Anleitung hast du in deinem anderen
    Thread erhalten. Eine "graphics.h" Datei allein nuetzt dir nix, das sind
    nur Funktionsprototypen zum linken gegen die jeweilige Bibliothek.
     
Die Seite wird geladen...
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite weitersurfst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...