QT Environment & Firebird SQL



  • Guten Morgen zusammen,

    seit gestern bin ich dabei mich ein bisschen in QT einzuarbeiten. Ich würde nun gerne Daten aus meiner Firebird Datenbank darstellen. Und da fangen die endlosen Probleme an. Vielleicht als Info. Ich habe das QT5 RC1 Packet installiert und wer mir Tipps geben möchte der sollte sich zuvor mit der neuen Ordner Struktur vertraut machen. Denn die scheint mir im Gegensatz zu der 4.8er Version total anders zu sein.

    Der Source Ordner unterteilt sich bei mir wie folgt:
    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\doc
    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\drivers
    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\kernel
    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\models

    Interessant scheint es im folgenden Ordner zu werden:
    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\drivers\ibase

    in dem sind folgende Dateien:
    qsql_ibase.h
    qsql_ibase.cpp
    qsql_ibase.pri

    Ich versuche also erstmal alles zu kompilieren aber da hagelt es schon Fehlermeldungen.
    In der Doku steht man sollte folgendes tun:

    cd %QTDIR%\src\plugins\sqldrivers\ibase
    qmake "INCLUDEPATH+=C:\interbase\include" ibase.pro
    nmake

    Blöd nur, dass sich die Projektnamen geändert haben. Also habe ich das ibase.pro gegen qsql_ibase.pri getauscht.

    Ein kleiner Auszug aus der cmd:
    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\drivers\ibase>qmake "INCLUDEPATH+=C:\Program Files (x86)\Firebird\Firebird_2_5\include" qsql_ibase.pri

    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\drivers\ibase>nmake

    Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01
    Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

    "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\nmake.exe" -f Makefile.Release

    Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01
    Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\msvc2010\bin\moc.exe -DUNICODE -DWIN32 -DQT_NO_EXCEPTIONS -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"C:\Program" -I"File
    cl -c -nologo -Zm200 -Zc:wchar_t -O2 -MD -GR -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_NO_EXCEPTIONS -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"C:\
    qsql_ibase.cpp
    c:\qt\qt5.0.0-rc1\5.0.0-rc1\src\qtbase\src\sql\drivers\ibase\qsql_ibase.h(48) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "QtSql/private/qsqlcachedresult_p.h": No such file or directory
    NMAKE : fatal error U1077: ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"": Rückgabe-Code "0x2"
    Stop.
    NMAKE : fatal error U1077: ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\nmake.exe"": Rückgabe-Code "0x2"
    Stop.

    C:\Qt\Qt5.0.0-rc1\5.0.0-rc1\Src\qtbase\src\sql\drivers\ibase>

    So, das was ich nun machen kann ist, in der qsql_ibase.h undqsql_ibase.cpp alle Header so zu ändern das es nicht passt. Und hier finde ich fängt die Schweinerei an. Es kann doch nicht sein, dass ich das wirklich tun muss oder?!?!

    Naja ich habe mir gestern Abend auf jeden Fall mal die Mühe gemacht und jeden Pfad einer Headers angegeben bis solche Fhler beseitigt waren.
    Aber damit keine Langeweile aufkommt ging es noch weiter. Irgendwann fragte er mich nach libs wie gds32.lib. Ich dachte von der wären wir längst weg und würden die fbclient.lib benutzen?! WTF!!!

    Ok, diese auch noch angegeben. Bis dahin ist übrigens schon eine halbe Stunde vergangen.... Nachdem ich so einige libs wie auch die gdi32.lib angegeben habe will der nun, dass ich die libs aus dem redistributable cv package angebe. Und hier geht es mir eindeutig zu weit!!

    Bisher sieht qmake so aus:

    qmake "INCLUDEPATH+='C:\Program Files (x86)\Firebird\Firebird_2_5\include'" "LIBS+=-fbclient_ms" "LIBS+=-L'C:\Program Files (x86)\Firebird\Firebird_2_5\bin'" "LIBS+=-L'C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib'" "LIBS+=-L'C:\Program Files (x86)\Firebird\Firebird_2_5\lib'" LIBS+="-fbclient_ms" qsql_ibase.pri

    UND es klappt nicht!! Bevor ich diese Scheiße von meinem Rechner werfe und einfach wieder das EntityFramework in Kombi mit C# nehme wollte ich der ganzen Sache hier nochmal eine Chance geben und mal fragen ob jemand weiß woran es liegen könnte??


Anmelden zum Antworten