Hallo,
mein Problem ist, das ich das Oracle Treiber Plugin für Qt 4.7.3 nicht Kompilieren kann, weil die Privaten QtSql Headers nicht gefunden werden.
Die Lösung wäre, wie erzeuge ich in den QtSources (Componente von QtSDK) einen Qt Build Tree, ohne das ich das gesamte Qt Kompilieren muss?
Ich habe das QtSDK 1.1.2 installiert.
Dort habe ich die "Desktop Qt 4.7.3" und "Qt 4.7.3 Sources" Components installiert. Dann gehe ich wie in der Qt Doku vor:
http://developer.qt.nokia.com/doc/qt-4. ... 0ade212c1e. Beim Kompilieren vermisst er dann die Privaten Header: QtSql/private/qsqlcachedresult_p.h
In der Vergangenheit, als ich noch ohne SDK die Libs und qt-everywhere-opensource-src selber heruntergeladen habe, hat das immer funktioniert. In den heruntergeladenen Sourcen war sozusagen der "Qt Build Tree" vorhanden. Dort gab es ein include Verz. in der die gesamten Headers mit den Privaten Header lagen. In den jetzigen QtSDK / QtSouces Verz. gibt es diesen "Qt Build Tree" nicht mehr.
Mein Frage ist: Wie kann man diesen "Qt Build Tree" elegant erzeugen lassen, ohne das ich im QtSources ein make aufrufe der alles Kompiliert? Ein make buildtree wäre praktisch
Danke schonmal vorab für eure Ideen / Ratschläge.
Qt SDK mit Qt Source und How to Build XY Plugin?
-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
es wundert mich etwas, dass bei den sourcen vom sdk-tool header fehlen, aber falls die automatisch generiert werden (je nach plattform oder so?), vielleicht mal ein configure mit den settings machen, mit denen deine (vor-)kompilierte qt-version auch gebaut wurde?
ist aber auch nur mal so geraten, ohne garantie.
ist aber auch nur mal so geraten, ohne garantie.
Re: Qt SDK mit Qt Source und How to Build XY Plugin?
Hallo,
nein die Header Dateien fehlen nicht, sie liegen im "src" verteilt in den einzelnen Verzeichnissen. Z.B.
Beispiel Fehlermeldung unter Windows:
nein die Header Dateien fehlen nicht, sie liegen im "src" verteilt in den einzelnen Verzeichnissen. Z.B.
Beim Builden der plugins, sowie im Qt Howto beschrieben, werden diese Header Dateien unter: QtSources/4.7.3/include erwartet....
QtSources/4.7.3/src/sql/kernel/qsqlfield.h
QtSources/4.7.3/src/sql/kernel/qsqlquery.h
QtSources/4.7.3/src/sql/kernel/qsqlcachedresult_p.h
...
Beispiel Fehlermeldung unter Windows:
I:\jlib\QtSources\4.7.3\src\plugins\sqldrivers\oci>qmake oci.pro
I:\jlib\QtSources\4.7.3\src\plugins\sqldrivers\oci>mingw32-make
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `I:/jlib/QtSources/4.7.3/src/plugins/sqldrivers/oci'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -"i:\jlib\Desktop\Qt\4.7.3\mingw\include\QtCore" -I"i:\jlib\Desktop\Qt\4.7.3\mingw\include\QtSql" -I"i:\jlib\Desktop\Qt\4.7.3\mingw\include" -I"i:\jlib\Desktop\Qt\4.7.3\mingw\include\ActiveQt" -I"debug" -I"i:\jlib\Desktop\Qt\4.7.3\mingw\mkspecs\default" -o debug\main.o main.cpp
In file included from main.cpp:44:
../../../sql/drivers/oci/qsql_oci.h:47:46: error: QtSql/private/qsqlcachedresult_p.h: No such file or directory
In file included from main.cpp:44:
../../../sql/drivers/oci/qsql_oci.h:68: Fehler: expected class-name before -+{-� token
../../../sql/drivers/oci/qsql_oci.h:80: Fehler: -+ValueCache-� has not been declared
mingw32-make[1]: *** [debug/main.o] Error 1
mingw32-make[1]: Leaving directory `I:/jlib/QtSources/4.7.3/src/plugins/sqldrivers/oci'
mingw32-make: *** [debug] Error 2
I:\jlib\QtSources\4.7.3\src\plugins\sqldrivers\oci>
Re: Qt SDK mit Qt Source und How to Build XY Plugin?
Hallo,
ich habe das Problem gelöst.
Die Lösung:
Man führt im Verz. QtSDK/QtSources/4.7.3 das ./configure aus.
Hierbei wierden die Headers unter QtSDK/QtSources/4.7.3/include kopiert/erstellt.
Zusätzlich wird qmake in QtSDK/QtSources/4.7.3/bin erstellt.
Nachdem ./configure durchgelaufen ist, kopiert man moc von (unter Linux) QtSDK/Desktop/Qt/473/gcc/bin nach QtSDK/QtSources/4.7.3/bin. Zusätzlich noch die die libs von QtSDK/Qt/473/gcc/lib nach QtSDK/QtSources/4.7.3/lib. Danach kann man wie unter "Building the Plugins Manually" die Plugins kompilieren.
Später kopiert man die Plugins von QtSDK/QtSources/4.7.3/plugins/.... nach QtSDK/Desktop/Qt/473/gcc/plugins/....
Das wars.
ich habe das Problem gelöst.
Die Lösung:
Man führt im Verz. QtSDK/QtSources/4.7.3 das ./configure aus.
Hierbei wierden die Headers unter QtSDK/QtSources/4.7.3/include kopiert/erstellt.
Zusätzlich wird qmake in QtSDK/QtSources/4.7.3/bin erstellt.
Nachdem ./configure durchgelaufen ist, kopiert man moc von (unter Linux) QtSDK/Desktop/Qt/473/gcc/bin nach QtSDK/QtSources/4.7.3/bin. Zusätzlich noch die die libs von QtSDK/Qt/473/gcc/lib nach QtSDK/QtSources/4.7.3/lib. Danach kann man wie unter "Building the Plugins Manually" die Plugins kompilieren.
Später kopiert man die Plugins von QtSDK/QtSources/4.7.3/plugins/.... nach QtSDK/Desktop/Qt/473/gcc/plugins/....
Das wars.