[gelöst]Qt4+MySQL auf Kubuntu

Alles rund um die Programmierung mit Qt
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

[gelöst]Qt4+MySQL auf Kubuntu

Beitrag von -marcelp- »

Hallo,

mein Debugger kommentiert mir die Zeile '#inlcude <QSqlDatabase>' mit der Meldung '...no such file or directory'.
Ich habe gelesen, dass in das qmake-File eine Zeile 'QT += sql' soll.
Wo finde ich diese Datei?
Eine make-Datei ist direkt in meinem Projekteordner und nochmal in /src.
Für ein exaktes Beispiel wäre ich sehr dankbar.

Marcel
Zuletzt geändert von -marcelp- am 11. Oktober 2007 20:51, insgesamt 2-mal geändert.
Zandru
Beiträge: 84
Registriert: 29. Mai 2007 15:35

Beitrag von Zandru »

such mal nach ner Datei mit der Endung .pro
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

Beitrag von -marcelp- »

Habe ich gefunden: 'Projektname.pro' im Projekteordner.
Dort habe ich die Zeile 'QT += sql' angehängt, bringt leider gar nichts.
Was kann es noch sein?
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

Beitrag von -marcelp- »

Inzwischen habe ich den Header direkt eingebunden:

#include "/usr/share/qt4/include/QtSql/qsqldatabase.h"

Jetzt kommt der Compiler weiter, Debugger meckert aber beim erstellen der Verbindung:

Code: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

Message: undefined reference to 'QSqlDatabase::defaultConnection'

:(
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Hallo,

mir sieht das danach aus, als ob Compiler und Linker Header- und Lib-Verzeichnis nicht finden. Versuch doch einmal, diese direkt in Deinen pro-File anzugeben:

INCLUDEPATH += /usr/share/qt4/include/

LIBS += -L/usr/share/lib/

Viele Grüße

Michael
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

Beitrag von -marcelp- »

Mein Problem bleibt unverändert. Den Pfad '/usr/share/lib/' gibt es bei mir nicht, ich habe statt dessen einfach '-L/lib/' eingetragen.
Vielleicht sollte ich noch erwähnen, dass ich eine Zeit lang mit Qt3 programmiert habe und jetzt Qt4 einfach dazuinstalliert habe. Vielleicht beißt sich etwas?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Oh man - manchmal frage ich mich warum es überhaupt Tutorials und Anleitungen gibt wenn sie eh keiner liest :-/

Nach dem Einfügen in die pro-Datei muss qmake neu aufgerufen werden.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

Beitrag von -marcelp- »

Kaum zu glauben - aber obwohl ich das bereits beachtet habe, komme ich immer noch nicht weiter...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das glaube ich nicht - zeig uns ein Beispiel was Du wirklich gemacht hast.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Hast Du QT4 mit adept installiert? Wenn ja, hast Du auch daran gedacht, alle QT-4 Pakete (insbesondere qt4-sql) zu installieren?
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

Beitrag von -marcelp- »

Gerne, vielleicht hilft's.
Also installierte Qt4-Pakete sind:

libqt4-core
-dev
-gui
-qt3support
-sql

ausserdem

qt4-designer
-dev-tools
-doc

Mein Projekt heißt Trawiz, ich habe die Datei 'trawiz.pro' wie folgt editiert:

SUBDIRS += src
TEMPLATE = subdirs
>INCLUDEPATH += /usr/share/qt4/include/
>LIBS += -L/usr/lib/
>QT += SQL
CONFIG += warn_on \
qt \
thread

wobei die markierten Zeilen von mir eingefügt wurden. Anschließend 'Build Project':

cd '/home/marcel/Projekte/Trawiz' && make -j1
qmake -o Makefile trawiz.pro
cd src && make -f Makefile
make[1]: Betrete Verzeichnis '/home/marcel/Projekte/Trawiz/src'
compiling main.cpp (g++)
In file included from sc_mdi.h:26,
from main.cpp:23:
sclager.h:25:24: error: QSqlDatabase: No such file or directory
make[1]: *** [main.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/marcel/Projekte/Trawiz/src'
make: *** [sub-src] Fehler 2
*** Exited with status: 2 ***

In den Project-Options habe ich bei C++-Support/Qt-Options alles auf Qt4 gesetzt.
Was habe ich übersehen?
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

Beitrag von -marcelp- »

PS: Ich würde das Ganze gerne beschleunigen und habe deshalb meine ICQ-Nummer veröffentlicht.
Wenn also jemand Lust hat, mir ernsthaft zu helfen, würde ich mich sehr freuen!

MfG, Marcel
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ein
TEMPLATE = subdirs

und dann eine App kompilieen? Wie soll das denn gehen? Die Optionen für sql müssen schon ins richtige pro-File...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
-marcelp-
Beiträge: 36
Registriert: 12. Januar 2007 09:00
Kontaktdaten:

Beitrag von -marcelp- »

OK, meine Unwissenheit. Vielleicht bringst Du einfach mal ein Beispiel?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich würde es einfach mal in das pro-File schreiben wo ich es brauche - nämlich in dem im 'src' - Verzeichnis wo Du auch deine Sourcen auflistest.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten