Seite 1 von 1

Problem: Compile QIBASE

Verfasst: 12. Oktober 2009 23:28
von extreme001
Hallo QT-Nutzer!

Ich bin neu hier im Forum aber nicht ganz unerfahren. Bisher habe ich wxWidgets und die MFC genutzt und bin sehr sicher in Standard c++ und in den beiden erwähnenten Frameworks. Jetzt möchte ich gerne meinen Horizont erweitern und QT zu meiner Liste hinzufügen.

Ich nutze Firebird als Datenbank und möchte diese gerne zu meinem Projekt hinzufügen. Bisher habe ich die Tutorials zur Kompilierung befolgt, bin aber immer auf Probleme gestossen. Ich habe deshalb die Datei D:\Qt\2009.04\qt\src\plugins\sqldrivers\ibase\ibase.pro geändert und kompiliert.
Das lief auch ohen Fehler durch, aber immer erscheint die Fehlermeldung "Driver not loaded"....also nicht erfolgreich.

Meine ibase.pro sieht so aus:

Code: Alles auswählen

TARGET	 = qsqlibase

HEADERS		= ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES		= main.cpp \
		  ../../../sql/drivers/ibase/qsql_ibase.cpp

INCLUDEPATH += D:\Programme\Firebird\Firebird_2_1\include
LIBS += D:\Programme\Firebird\Firebird_2_1\lib\fbclient_ms.lib


unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
	!win32-borland:LIBS *= -lgds32_ms
	win32-borland:LIBS  += gds32.lib
}

include(../qsqldriverbase.pri)
Bisher habe immer IBPP benutzt...für wxWidgets und MFC. Kann mir jemand helfen und beschreiben wie ich Firebird auf QT anpasse?

Ich danke im vorrauss.

Verfasst: 13. Oktober 2009 06:41
von Christian81
Immer wieder das Gleiche:
- ist das Plugin vorhanden (plugins/sqldrivers)
- sind auch alle Dependencies vorhanden (dependency walker)
- ist das Qt mit de du versuchts das Plugin zu laden auch das Gleiche mit dem das Plugin kompiliert wurde?

das wird jede Woche einmal durchgekaut...

Verfasst: 14. Oktober 2009 19:03
von extreme001
Ok...schon klar.

Ich habe auch die SuFu benutzt, aber leider konnte mir kein Suchergebnis wirklich weiterhelfen.

Ich habe nun die .pro kompiliert und nun habe ich im Verzeichnis D:\Qt\2009.04\qt\src\plugins\sqldrivers\ibase\debug die lib und die dll (libqsqlibased4.a, qsqlibased4.dll).

Die beiden Dateien habe ich kopiert. Einmal in mein Programmverzeichnis und einmal nach D:\Qt\2009.04\qt\plugins\sqldrivers.

Ich starte mein Programm und die Fehlermeldung "Driver not loaded" erscheint. Also geht nicht...

Was mich auch noch beschäftigt ist, das es nur ein DEBUG-Build gibt, als RELEASE kompilieren geht gar nicht.

Gibt es noch Ideen die mir jetzt aus der Patsche helfen? Mir ist schon klar das ich mich noch allgemein mit QT beschäftigen muss, aber dieses Problem hätte ich schon gern gelöst. Ach...der Pfad zum Firebird-BIN Verzeichnis habe ich in meine PATH-Variable eingetragen.


Ich danke vielmals.

Verfasst: 15. Oktober 2009 12:54
von extreme001
Problem gelöst.

Qt deinstalliert, ibase.pro bearbeitet und include-pfad angegeben + lib. Im Creator ließ sich die ibase.pro kompilieren und verknüpfen.

Danke!

Verfasst: 13. Mai 2010 00:06
von Roadrunner
Die fbclient.dll aus dem firebird\bin Verzeichnis muss in dem Verzeichnis liegne, in dem man seine exe compiliert; dann funktioniert es.

Den Tip hab ich auch 'hier' gefunden, aber ueber Suchmaschienen landet
man eher hier - und den restlichen Leuten wollt ich die lange Suche
ersparen.

... von daher: sorry fuer die Redundanz.

Roadrunner