Problem mit Redhat 7.3's QT Bibeliotheksdatei



  • hi Leute,

    ich habe mir ein Buch über QT- und KDE-Prorgrammierung gekauft. Nun will ich folgendes Bespiel kompilern:

    #include <qapplication.h>
    #include <qlabel.h>
    
    int main (int argc, char **argv)
    {
        QApplication app (argc, argv);
        QLabel *l = new QLabel ("<H1>Hallo, Welt!</H1>", 0);
        l->show ();
        app.setMainWidget (l);
        return app.exec();
    }
    

    Dazu gebe ich folgende Anweisung in meine Konsole:

    g++ -o hello-qt -I$QTDIR/include -lqt hello-qt.cpp
    

    Ich bekomme folgende Fehler-Meldung vom g++ (oder besser gesagt von ld):

    /usr/bin/ld: cannot find -lqt
    collect2: ld returned 1 exit status
    

    Also zu dem Problem steht in meinem Buch das man kontrollieren soll ob die Umgebungsvaribale $QTDIR richtig gesetzt ist. Nun, ich hab sie nicht gesetzt d.h. sie wurde bei der Installtion automatisch gesetzt und zwar auf "/usr/lib/qt3-gcc2.96". Dann ich hab ich in /usr/lib/qt3-gcc2.96/lib nachgeguckt:

    # ls
    
    libeditor.so.1
    libeditor.so.1.0
    libeditor.so.1.0.0
    libqt-mt.so
    libqt-mt.so.3
    libqt-mt.so.3.0
    libqt-mt.so.3.0.3
    libqt.so
    libqt.so.3
    libqt.so.3.0
    libqt.so.3.0.3
    libqui.so
    libqui.so.1
    libqui.so.1.0
    libqui.so.1.0.0
    

    Also müsste das meinem Buch nach eigentlich funktionieren, denn es wird die libqt.so gebraucht. Komischerweise funktioniert das aber nicht.

    Was nun? 😕

    Anmerkung: Bei RedHat gibt es komischerweise 4 verschiedene QT-Ordner: qt2, qt-2.3.1, qt3, qt-3.0.3 und qt3-gcc2.96. Wobei die Umgebungsvaribale "qt3-gcc2.96" enthält.

    cu

    eLk

    PS: thx schon mal im Voraus

    [ Dieser Beitrag wurde am 07.11.2002 um 20:48 Uhr von elk editiert. ]



  • benutz doch einfach die -L Option um den Richtigen Verzeichniss Namen mit den Libs anzugeben



  • Ja, mach zB

    g++ -o hello-qt hello-qt.cpp -I $QTDIR/include -L $QTDIR/lib -lqt
    

    btw: "qt3-gcc2.96" deshalb, weil die gcc 2.96 nur von RH verwendet wird und viele Anwendungen (auch die QT-libs) Probleme mit dieser gcc-Version haben.



  • hat Red Hat immer noch den GCC als Standard GCC? Strang die Leute bei Red Hat



  • Original erstellt von kingruedi:
    hat Red Hat immer noch den GCC als Standard GCC? Strang die Leute bei Red Hat

    Jo, bei der valhalla schon noch, das wollte ich mal bei meiner Freundin installieren, habe mich dann aber relativ schnell anders entschieden und jetzt hat sie auch Gentoo :D.
    Ja, extrem strange sogar, ich weiß echt nicht, was sie sich davon versprochen haben...



  • Die Entscheidung das zu tun finde ich eigentlich ganz verständlich, da Red Hat wie die anderen kommerziellen Linux Distributoren feste Auslieferungs Termine hat, für ihre Distri und wenn die Unterstützung für IA 64 brauchen, blieb eben damals eben nur über einen GCC Snapshot zu nehmen. Was ich aber scheiße finde, dass die den GCC 2.96 genannt haben und das somit zu einer eindeutigen Verwechslung führt! Außerdem hätten die den GCC 2.96 so schnell wie Möglich abschaffen sollen, als der GCC 3.X drausen war, hätten die den ersetzen sollen und Patches zur Verfügung stellen sollen.

    aber das ist ein bissel OT 😉



  • [ot]Ich meinte mit meiner Frage ja eigentlich nur, dass ich nicht verstehe, warum sie das dann noch weiterverwendet haben...[/ot]



  • Original erstellt von nman:
    **```
    g++ -o hello-qt hello-qt.cpp -I $QTDIR/include -L $QTDIR/lib -lqt

    thx. Es funktioniert 🙂


Anmelden zum Antworten