Anzeige:
Ergebnis 1 bis 7 von 7

Thema: SDL gfx mit MINGW - wie installieren?

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    54

    SDL gfx mit MINGW - wie installieren?

    Hallo ich versuche SDL gfx 2.0.16 mit MINGW zu compilieren.
    Die Bibliothek kann ich compilieren und mit "make install" wird sie auch
    installiert.

    Wenn ich aber die Testprogramme in "Test" erstellen will bekomme folgende Fehler:

    Code:
    (gekürzt wegen Textlimit)
    
    1451: undefined reference to `_imp__polygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1468: undefined reference to `_imp__polygonRGBA'
    TestGfxPrimitives.o: In function `BenchmarkPolygon':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1489: undefined reference to `_imp__polygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1496: undefined reference to `_imp__stringRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1504: undefined reference to `_imp__polygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1512: undefined reference to `_imp__stringRGBA'
    TestGfxPrimitives.o: In function `TestAAPolygon':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1527: undefined reference to `_imp__aapolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1533: undefined reference to `_imp__aapolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1539: undefined reference to `_imp__aapolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1556: undefined reference to `_imp__aapolygonRGBA'
    TestGfxPrimitives.o: In function `BenchmarkAAPolygon':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1577: undefined reference to `_imp__aapolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1584: undefined reference to `_imp__stringRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1592: undefined reference to `_imp__aapolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1600: undefined reference to `_imp__stringRGBA'
    TestGfxPrimitives.o: In function `TestFilledPolygon':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1616: undefined reference to `_imp__filledPolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1622: undefined reference to `_imp__filledPolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1628: undefined reference to `_imp__filledPolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1645: undefined reference to `_imp__filledPolygonRGBA'
    TestGfxPrimitives.o: In function `BenchmarkFilledPolygon':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1666: undefined reference to `_imp__filledPolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1673: undefined reference to `_imp__stringRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1681: undefined reference to `_imp__filledPolygonRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1689: undefined reference to `_imp__stringRGBA'
    TestGfxPrimitives.o: In function `TestTexturedPolygon':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1707: undefined reference to `_imp__texturedPolygon'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1714: undefined reference to `_imp__texturedPolygon'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1720: undefined reference to `_imp__texturedPolygon'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1730: undefined reference to `_imp__texturedPolygon'
    TestGfxPrimitives.o: In function `BenchmarkTexturedPolygon':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1756: undefined reference to `_imp__texturedPolygon'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1763: undefined reference to `_imp__stringRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1772: undefined reference to `_imp__texturedPolygon'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1780: undefined reference to `_imp__stringRGBA'
    TestGfxPrimitives.o: In function `TestBezier':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1795: undefined reference to `_imp__bezierRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1801: undefined reference to `_imp__bezierRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1807: undefined reference to `_imp__bezierRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1824: undefined reference to `_imp__bezierRGBA'
    TestGfxPrimitives.o: In function `BenchmarkBezier':
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1845: undefined reference to `_imp__bezierRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1852: undefined reference to `_imp__stringRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1860: undefined reference to `_imp__bezierRGBA'
    C:/msys/1.0/home/Stefan/sources/sdl_gfx-2.0.16/Test/TestGfxPrimitives.c:1868: undefined reference to `_imp__stringRGBA'
    collect2: ld returned 1 exit status
    make: *** [TestGfxPrimitives.exe] Error 1
    Scheinbar wird die Bibliothek nicht gefunden. Wie kann man das lösen?

  2. #2
    Registrierter Benutzer Avatar von Treehouse
    Registriert seit
    16.10.2007
    Ort
    X
    Beiträge
    17
    Wie compillierst du denn wenn ich mal fragen darf (Befehl meine ich)??
    Und wie lautet deine " #include " zeile
    Gruß
    Treehouse

  3. #3
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Zitat Zitat von Treehouse Beitrag anzeigen
    Wie compillierst du denn wenn ich mal fragen darf (Befehl meine ich)??
    Und wie lautet deine " #include " zeile
    Die Includes sind bei dieser Fehlermeldung uninteressant, sonst würde sich schon der Precompiler melden. Da fehlt eine -l Option des Linkers, sprich - es fehlt eine zu linkende Bibliothek. Interessant ist also der Compileraufruf.

    Jan

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    54
    Hier ist der Anfang. Ich habe nur ./configure und make eingegeben.
    Also keine Flags gesetzt.

    Die libSDL_gfx.a und libSDL_gfx.la sind im lib Verzeichnis, werden aber scheinbar nicht gefunden?

    Code:
    /bin/sh ./libtool --mode=link gcc  -g -O2 -DWIN32 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main   -o TestGfxPrimitives.exe  TestGfxPrimitives.o  -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows -lSDL_gfx
    gcc -g -O2 -DWIN32 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main -o TestGfxPrimitives.exe TestGfxPrimitives.o -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows -lSDL_gfx
    TestGfxPrimitives.o: In function `ClearScreen':C:/msys/1.0/home/Stefan/SDL_gfx-2.0.16/Test/TestGfxPrimitives.c:112: undefined reference to `_imp__pixelRGBA'
    :C:/msys/1.0/home/Stefan/SDL_gfx-2.0.16/Test/TestGfxPrimitives.c:118: undefined reference to `_imp__hlineRGBA'
    :C:/msys/1.0/home/Stefan/SDL_gfx-2.0.16/Test/TestGfxPrimitives.c:119: undefined reference to `_imp__hlineRGBA'

  5. #5
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    so wie ich das sehe, stehen die benötigten Libraries nicht in /usr/local/lib, sondern in Deinem "privaten" lib-Verzeichnis? Es ist nur der Library-Pfad /usr/local/lib angegeben (Option -L). Hast Du make install als root aufgerufen? Ansonsten gibt es 2 Möglichkeiten: Kopiere die Libraries dahin oder ändere die -L-Option auf Dein lib-Verzeichnis.

    Jan

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    54
    MINGW ist die gcc Umgebung für Windows. Die Shell wandelt den Pfad wie er
    bei Linux verwendet wird in den entsprechenden MINGW Pfad um.

    Das hier ist in /usr/local/lib:

    Code:
    libSDL.a      libSDL.la     libSDL_gfx.la  pkgconfig
    libSDL.dll.a  libSDL_gfx.a  libSDLmain.a

  7. #7
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    54
    Ok, ist jetzt zwar schon länger her, aber bei einem neuen Versuch fand ich
    jetzt eine Lösung.

    Mit "configure" wie ich es von Linux gewohnt bin, geht es nicht.
    Man muß im "Makefile.mingw" den Prefix Pfad angeben wo die Includes
    und Bibliotheken sind. Also z.B. "C:/MinGW", wenn dort die Ordner "include" und "lib" sind.

    Danach reicht ein "make -f Makefile.mingw".

Lesezeichen

Berechtigungen

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