Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Kdevelop_Qmake_QT-Prog_Komp.fehler

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.05.2005
    Beiträge
    31

    Kdevelop_Qmake_QT-Prog_Komp.fehler

    Hallo!

    Ich bin gerade dabei mir ein bisschen QT anzueignen.
    Habe für meine erste Anwendung also in KDevelop ein
    C++ Projekt unter QMake/Application erzeugt.
    Das Programm besteht eigentlich aus nur einem Dialog, welcher
    als eigene Klasse existiert.
    Wenn ich den Code nun mit "Rebuild Project" erneut kompilieren will
    (erneut weil ich die Klasse in eine andere Datei ausgelagert habe und sonst
    Änderungen in dieser sonst nicht berücksichtigt würden),
    bekomme ich folgende Fehlermeldungen:

    Code:
    cd '/home/xargon/progging_stuff/qt_finddialog' && QTDIR="/usr/local/qt" gmake -k clean && QTDIR="/usr/local/qt" gmake -k 
    ( [ -d src ] && cd src ; grep "^qmake_all:" Makefile && gmake -f Makefile qmake_all; ) || true
    ( [ -d src ] && cd src ; gmake -f Makefile clean; ) || true
    rm -f moc_qt_finddialog.o
    rm -f moc_qt_finddialog.cpp
    rm -f qt_finddialog.o main.o
    rm -f *~ core *.core
    cd src && gmake -f Makefile
    compiling qt_finddialog.cpp (g++)
    compiling main.cpp (g++)
    generating moc_qt_finddialog.cpp (moc)
    compiling moc_qt_finddialog.cpp (g++)
    test -d ../bin/ || mkdir -p ../bin/
    linking ../bin/qt_finddialog (g++)
    main.o(.text+0x23): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `vtable for FindDialog'
    main.o(.text+0x2a): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `vtable for FindDialog'
    main.o(.text+0x3a): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x7a): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x109): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x159): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x1a9): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x22b): more undefined references to `FindDialog::tr(char const*, char const*)' follow
    main.o(.text+0x4e3): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `vtable for FindDialog'
    main.o(.text+0x4ea): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `vtable for FindDialog'
    main.o(.text+0x4fa): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x53a): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x5c9): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference 
    to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x619): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x669): In function `FindDialog::FindDialog(QWidget*, char const*)':
    : undefined reference to `FindDialog::tr(char const*, char const*)'
    main.o(.text+0x6eb): more undefined references to `FindDialog::tr(char const*, char const*)' follow
    main.o(.text+0x9c0): In function `FindDialog::findClicked()':
    : undefined reference to `FindDialog::findPrev(QString const&, bool)'
    main.o(.text+0xa09): In function `FindDialog::findClicked()':
    : undefined reference to `FindDialog::findNext(QString const&, bool)'
    collect2: ld returned 1 exit status
    gmake[1]: *** [../bin/qt_finddialog] Error 1
    gmake[1]: Target `first' not remade because of errors.
    gmake: *** [sub-src] Error 2
    gmake: Target `first' not remade because of errors.
    *** Exited with status: 2 ***
    Undefined Reference kenne ich nur in dem Zusammenhang,
    alsdass der Compiler bestimmte Libraries nicht linken kann.
    Hier dürfte dir das eigentlich nicht der Fall sein, da das Projekt ja
    als "QT-Programm" ausgelegt ist.


    Danke schonmal für eure Hilfe.

    mfg
    awehrm

  2. #2
    Registrierter Benutzer
    Registriert seit
    03.10.2005
    Beiträge
    25

    Thumbs up Obs hilft?

    Probiers mal mit :
    qmake nochmal ausführen(rechts oben im KDevelop Unterprojekte->src)

    Dann "Projekt aufräumen" unter Menupunkt "Erstellen" 1 bis 2 mal..
    und "Projekt neu erstellen" ausführen.

    Ich weiss, das klingt unprofessionell, hat mir aber schon ein paar mal bei vtable-Fehlern geholfen ..

    ansonsten mal Quellcode bereitstellen, damit man da mal Fehler suchen kann..

    Viel Erfolg
    Thomas

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.05.2005
    Beiträge
    31
    Ok ich hab's hingekriegt.
    Ich hab einfach eine neue File erstellt und ihm gesagt, dass er die
    zum Projekt hinzufügen soll.
    Danach hats dann auch geklappt, leider sah der Dialog noch nicht so aus wie gewünscht, aber da muss ich selber wohl nochmal ran.
    Was mir jetzt noch nicht gefällt ist:
    Wenn ich eine File zum Projekt hinzufüge, befindet sich diese automatisch
    im "src" Verzeichnis.
    Kann ich auch sagen dass er die in einem bestimmten Verzeichnis anlegen soll?
    Bei mehreren Header-Files kann es ja schonmal schnell unübersichtlich dort werden.

Lesezeichen

Berechtigungen

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