Qt Plugins für Bildformate



  • Hallo,
    ich würde gern verschiedene Bildformate mit einem Programm bearbeiten können. Leider schaffe ich es aber nicht, Qt dazu zu bewegen. Ich nutze Qt 4.6 und folgenden Quellcode:

    //code.cpp
    #include <QtGui>
    #include <QWidget>
    #include <QtPlugin>
    Q_IMPORT_PLUGIN(qjpeg)
    Q_IMPORT_PLUGIN(qtiff)
    Q_IMPORT_PLUGIN(qgif)
    Q_IMPORT_PLUGIN(qmng)
    
    //mehr
    

    Dazu in der .pro-Datei zum Programm:

    LIBS += -LC:\Qt\2009.05\qt\plugins\imageformats
    QTPLUGIN += qmng4 \
        qjpeg4 \
        qgif4 \
        qtiff4
    //habe das auch schon ohne die "4" versucht, aber das brachte einen Linker-Fehler
    

    Ich habe Google schon mit Fragen gelöchert, die Dokumentation durchgeblättert und etliches probiert, aber ich bekomme stets Fehler wie "undefined reference to `qt_plugin_instance_qjpeg()'" (und natürlich den anderen Plugins).

    Kann mir jemand sagen, wie ich vorgehen muss, wenn ich ein solches Plugin einbinden möchte? Und falls möglich auch gleich, was ich tun muss, um ein Bild zu laden?

    Ich danke schonmal im Voraus für jegliche Hilfe.



  • Hast mal die Examples durchgeschaut, da is doch sicherlich was bei was Dir hilft?
    Da werden meiner Erinnerung nach desöftern Pics verwendet.
    gl

    Grey





  • GreyHound schrieb:

    Hast mal die Examples durchgeschaut, da is doch sicherlich was bei was Dir hilft?
    Da werden meiner Erinnerung nach desöftern Pics verwendet.
    gl

    Grey

    Ich habe gestern knapp 1,5h gesucht und dann hatte ich einfach keine Lust mehr, für so eine Kleinigkeit Zeit zu verschwenden. Bei den Examples habe ich natürlich nicht den gesamten Quelltext gelesen, aber soweit ich sehen konnte, war da nichts zu finden.

    zwutz schrieb:

    http://doc.trolltech.com/4.6/plugins-howto.html#static-plugins

    Danke für den Link, aber zum einen habe ich die Seite schon hundert mal gelesen, zum anderen steht da genau das, was ich im ersten Post als nicht funktionstüchtig angegeben habe. Sollte ich irgendwo einen Fehler übersehen haben, könnte mich ja jemand darauf hinweisen.



  • Nur ein paar Sachen:
    Du willst auch wirklich dein Programm statisch linken? (Sry, wenn die Frage blöd erscheint...)
    Du hast statische Qt-Libs erzeugt?
    Dein LIBS += wird dir denke ich wenig bringen, das steht so auch nicht in der Dokumentation. Ich bin mir sicher, den Effekt den du damit erzielen willst erledigt das QTPLUGIN im .pro selber.

    Und zu guter letzt: Es ist erheblich einfacher, Qt dynamisch zu linken und einfach die Qt-Libs samt nötigen Plugins dem Programm beizulegen.
    Lizenzrechtlich darfst du auch nur statisch linken, wenn dein Programm unter der GPL lizensiert ist und dein Quellcode für jedermann zugänglich ist.


Anmelden zum Antworten