Images anzeigen mit FLTK



  • Hallo, ich bin gerade dabei ein bissl FLTK zu "lernen", aber bereits bei Images komme ich nicht mehr weiter, ich habe ein bissl rumgespielt, und bekomme ständig diese Fehlermeldungen:

    [Linker error] undefined reference to `Fl_GIF_Image::Fl_GIF_Image(char const*)'
    ld returned 1 exit status
    Makefile.win [Build Error] [Project1.exe] Error 1

    bei diesem Code:

    #include <FL/Fl.H>
    #include <FL/Fl_Window.H>
    #include <FL/Fl_GIF_Image.H>
    #include <FL/Fl_Box.H>
    
    int main() {
        Fl_Window     win(720,486);                 // make a window
        Fl_Box        box(10,10,700,466);     // widget that will contain image
        Fl_GIF_Image jpg("/Bilder/Bild.gif");      // load jpeg image into ram
        box.image(jpg);                             // attach jpg image to box
        win.show();
        return(Fl::run());
    }
    

    (eigentl. habsch nen anderen Sourcecode, aber der ist ein bissl zu unübersichtlich, aber die Fehler kommen aufs Selbe raus) Den Sourcecode, habe ich von hier: http://www.gidforums.com/t-5795.html (habe mich nämlich schon ein bissl umgesehen ...)

    Ich benutze Dev-C++ und habe dort unter Tools/Compiler Options auch die Flags, wie sie in dem Link angepriesen wurden, hinzugefügt, dann erhalte ich nur noch diese Fehlermedlung:

    Makefile.win [Build Error] [Project1.exe] Error 1

    die anderen beiden fallen weg ...

    Und naja, libs kann ich nciht wirklich einbinden, weil bei FLTK 1.7 alles über DLL`s läuft ...

    Kann mir jmd. sagen was ich falsch gemacht habe?



  • Hi,

    entweder es liegt ein Problem mit Dev-Cpp vor (halte ich für wahrscheinlich), oder es fehlt evtl. doch noch ein Flag. Hast du -lfltk_images dabei?

    MfG

    GPC



  • ja, das habe ich dabei, und ich denke durch diesen flag gegen dann die oberen beiden Linker-fehler weg

    Ich habe auch schon versucht die Makefile.win zu löschen, aber hilft auch nicht ...


  • Mod

    Kennt DevCpp das Verzeichnis wo die Library drin liegt?



  • Schon mal über Kommandozeile (wie in dem verlinkten Thread) kompiliert?



  • @phlox81

    Das Problem ist, dass ich keine Libs finden kann, im FLTK 1.1.7-Verzeichnis im lib-Ordner findet sich nur folgende Readme:

    README.lib
    ----------

    This README file is a placeholder for library files on your
    system.

    Under Microsoft Windows a successful build of all projects and
    configurations will contain debug and release libraries for you
    to link to - all are built using the multi-threaded DLL
    settings. The DLL files (fltkdll.dll and fltkdlld.dll) required
    for a complete DLL-based binary distribution are located in the
    "visualc" directory.

    Under UNIX a single set of library files will be built, with or
    without debug information depending on the options you provided
    to the configure script.

    und ich vermute durch die Flags werden vllt. die benötigten Dll`s eingebunden, kann das möglich sein?

    @GPC ich bin leider ein verwöhnter Entwicklungsumgebung-Buby, der noch über die Kommandozeile compiliert hat, aber ich versuchs mal hin zu kriegen ...


  • Mod

    hast du überhaupt FLTK schon gebaut?



  • ja, und mit Fenstern, Buttons, Tabs, Draw-Funktionen etc. habe ich überhaupt kein Problem und auch keine Fehlermeldungen, nur bei diesen Image-Funktionen kommt der besagte Fehler.



  • Top se schrieb:

    ja, und mit Fenstern, Buttons, Tabs, Draw-Funktionen etc. habe ich überhaupt kein Problem und auch keine Fehlermeldungen, nur bei diesen Image-Funktionen kommt der besagte Fehler.

    Über Kommandozeile geht's auch nicht, oder (ich tipp nach wie vor auf das krüpplige Dev-Cpp)?



  • GPC, das glaube ich auch langsam, aber, ähm, ich habe mir jetzt Cygwin installiert, aber ich weiß nicht so richtig, wie ich da jetzt FLTK einbinden muss, wie das funktioniert ...



  • Top se schrieb:

    GPC, das glaube ich auch langsam, aber, ähm, ich habe mir jetzt Cygwin installiert, aber ich weiß nicht so richtig, wie ich da jetzt FLTK einbinden muss, wie das funktioniert ...

    Hehe, da sind wir schon zu zweit^^ ... aber gut, probieren wir mal was aus.

    Was passiert, wenn du dein Programm so kompilierst (Namen halt entsprechend anpassen)? :

    g++ -Wall simple_image.cpp `fltk-config --ldflags --cxxflags --use-images` -s -o TestMain
    

    Wenn du weiterhin mit einer IDE arbeiten willst, kann ich dir entweder Code::Blocks oder das Visual C++ Express Edition ans Herz legen. Für die VC++ EE gibt's IIRC sogar ne Anleitung bei den FLTK Leutchen.



  • Ich hatte Schwierigkeiten das FLTK 1.1.7 in mein VC++ 6 einzubinden, jetzt habe ich es aber mal mit der Beta von FLTK2 probiert, und es hinbekommen *g*, jetzt muss ich nur noch gucken, obs mit meinen Images auch geht *gg*, dann haue ich Dev-CPP in die Ecke *lach*

    von :Blocks habe ich ja noch gar nichts gehört, ich schaue mich mal um, vielen Dank!


Anmelden zum Antworten