Anzeige:
Ergebnis 1 bis 9 von 9

Thema: shared libary einbinden

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177

    shared libary einbinden

    Hi,

    ich bräuchte mal Eure Hilfe bei einer Allgemeinen Frage.

    ich habe eine main für ein qt Programm:

    Code:
    #include <QtGui>
     
    int main(int argc, char *argv[]){
    	QApplication app(argc, argv);
    	QLabel label("Hallo Meier");
    	label.show();
    	return app.exec();
    }
    und will einen eigenen g++ befehl dafür schreiben.

    Die Bibliothek libQtGui.so befindet sich unter /usr/lib

    deshalb müsste der Befehl doch lauten:
    Code:
    g++ main.cpp -L. -lQtGui
    doch es will einfach nicht funktionieren.

    Könnt Ihr mir bitte sagen warum nicht?

    vielen Dank
    dml

  2. #2
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    Kannst du die exakte Fehlermeldung (copy&paste) hier posten? Bitte mit [code]-tags.
    my very own 128 bit integer
    C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
    more information

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Code:
    main.cpp:1:17 Fehler: QtGui: Datei oder Verzeichnis nicht gefunden.
    ...
    Datei ist aber vorhanden in /usr/lib/.

  4. #4
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Verwende am besten pkgconfig
    Code:
    g++ $(pkg-config --cflags --libs QtGui) -o meintestprogramm main.cpp
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  5. #5
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    um ehrlich zu sein habe ich keine Pakete installiert, sondern einfach die beiden Dateien nach /usr/lib kopiert.
    (Package QtGui was not found in the pkg-config search path.)

    Doch eigentlich müsste er sie doch auch so finden, oder?
    Geändert von dml (27-01-2009 um 19:39 Uhr)

  6. #6
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    1) warum hast du Qt nicht über die Paketverwaltung o.ä. installiert?
    2) welche beiden Dateien? libqt4-dev ist auf meinem System ca 27MB gross. Es reicht zum kompilieren von eigenen Programmen nicht aus, wenn die libQtGui.so vorhanden ist. Du brauchst auch noch alle Header-Files sowie die ar-Archive (Dateiname *.a).

    edit: Liste der Dateien welche im Paket libqt4-dev (Ubuntu 8.10) enthalten sind:
    http://packages.ubuntu.com/intrepid/...4-dev/filelist
    my very own 128 bit integer
    C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
    more information

  7. #7
    Registrierter Benutzer Avatar von panzi
    Registriert seit
    04.05.2001
    Ort
    Kottingbrunn
    Beiträge
    609
    Ich schätze mal es geht um die Includdatei? Musst den Ordner in dem sie liegt mit -I/der/ordner angeben.
    Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing

  8. #8
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    ach ja, die lieben include dateien, wie gerne man diese vergisst.

    vielen dank!

  9. #9
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Es liegt vielmehr daran, dass keine Datei sondern ein Verzeichnis als Ziel der #include Direktive angegeben wurde.

    Der C Präprozessor erwartet da aber immer eine Datei

    Hier sollte ansich
    Code:
    #include <QApplication>
    #include <QLabel>
    reichen

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

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