Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : [win]+qt+mysql.h



jonasge
10-11-2002, 19:38
Hi,
ich habe erfolgreich unter Linux mit QT und der Mysql.h die von mysql mitgeliefert wird ein kleines QT+mysql Programm geschreiben. Es funktioniert wunderbar unter Linux.

Jetzt wollte ich das mal unter Windows probieren, deshalb habe ich mir Mysql fuer Windows und QT-2.30 GPL gezogen.
Mysql brauche ich deshalb, da da die mysql.h und die mysql.lib mitgeliefert wird. Desweitern habe ich c++ Studio von M$ installiert.
Unter Linux nehme ich das zum uebersetzten:
g++ -I/usr/include/qt -c qcapi2name.cpp -Wall
g++ -I/usr/include/qt -c main.cpp -Wall
g++ -L/usr/lib -L/usr/X11R6/lib -lqt -lmysqlclient -o qcapi2name qcapi2name.o main.o -Wall
rm -f *.o

Doch wie mache ich das jetzt unter WIndows, gibt es da auch so ein art make, oder was ??

Ich probiere jetzt schon mehr als eine Stunde in diesem dummen Studio c++ von m$ rum, doch ich bekomme das nicht uebersetzt!!

Was muss ich tun ??
Gruss
Jonas

jonasge
10-11-2002, 19:39
Ach so, und statisch sollte es auch gelink werden, da ich es auf ein anderen PC kopieren will, aber ohne, das ich mysql weder qt installieren will.

anda_skoa
10-11-2002, 19:55
Das Konsolenmake von VC++ heitß nmake.

Wenn du mit qmake oder tmake das Makefile aus dem .pro File generierst, sollte das gehen.

Ciao,
_

jonasge
10-11-2002, 21:00
dumme frage, wie schreibe ich so ne .pro file ??

Gruss
Jonas

anda_skoa
10-11-2002, 22:12
Schau dir unter Linux eines der Qt Tutorials an.
Die sind im Source Paket enthalten.

Wahrscheinlich geht es auch ohne, direkt aus dem Visual Studio heraus.

Ciao,
_

jonasge
11-11-2002, 07:58
Hi !
jetzt habe ich es mal geschaft, so ein .pro file zu schreiben, doch die mysql.h usw sind unter c:\mysql\include, und die lib unter c:\mysql\lib, wie kan ich die jetzt noch dazu fuegen ??


Gruss
jonas

anda_skoa
11-11-2002, 10:59
Für die Includes
INCLUDEPATH =
für die lisbs
DEPENDPATH =

Dann evnetuell:
win32:LIBS =
unix:LIBS =

Letztes gehr vielleicht auch mit includes.
Benutzt man dann, wenn es unter Windows anders heißt.
Bei libs zB ist unter Unix immer libxxx.a bei Windows xxx.lib

Pfade sollten nach Möglichkeit natürlich gleich sein.

Ciao,
_

jonasge
11-11-2002, 18:43
Hi,
danke fuer deine Anworten bisher...

TEMPLATE = app
HEADERS = settings.h \
qcapi2name.h
SOURCES = main.cpp \
qcapi2name.cpp
INCLUDEPATH=c:\mysql\include
DEPENDPATH =c:\mysql\lib
TARGET=qcapi2name

Wenn ich das jetzt per nmake uebersetzte kommt das:
mysql_com.h: error c2146: Syntaxfehler: Fehlendes ; vor bezeichner fd ...
Da kommt noch mehr!
Was kann da sein?

Gruss
JOnas

anda_skoa
11-11-2002, 21:57
Hmm vielleicht liegt es an einem Header, der vorher inkludiert wurde.

Ciao,
_

jonasge
12-11-2002, 07:59
Hi,
danke fuer deine Hilfe, aber erst jetzt habe ich gemerkt, das qt 2.3.0 mit dem ich die Appprogrammieren will garnicht so viel kann wie qt-3.X. (Ich habe die Docu zu 3.X aber programmiere mit 2.3.0.
Und eine teil was in 3.X vorhanden ist nämlich Qconfig gibt es nicht bei qt 2.3.0.

Also war es garnix mit portabel schreiben, weil ich jetzt die Kconfig klasse nehmen muss, aber diese gibt es ja unter win nicht.

Also muss ich doch zwei von einander getrennte apps schreiben, einmal fuer Linux und fuer windows.


Trotzdem danke.


Gruss
Jonas
P.S. ein kleine frage hätte ich noch: Wo bekomme ich doku zu proggen unter Windows mit GUI ?

anda_skoa
12-11-2002, 10:41
Original geschrieben von jonasge
Hi,
danke fuer deine Hilfe, aber erst jetzt habe ich gemerkt, das qt 2.3.0 mit dem ich die Appprogrammieren will garnicht so viel kann wie qt-3.X. (Ich habe die Docu zu 3.X aber programmiere mit 2.3.0.
Und eine teil was in 3.X vorhanden ist nämlich Qconfig gibt es nicht bei qt 2.3.0.


Ja, leider gibt es von der Qt3 noch keine non-commercial Version für Windows.
Finde ich auch schade.

QSettings (falls du die meinst) ist aber unter Windows eh nicht gut.
Die benutzt da nämich die Registry statt config files.

Am besten du benutzt eine Config lib, die sowohl unter Windows als auch unter Linux geht.
LeoIni zum Beispiel:
http://home.pages.at/kingleo/development/cpp-en.html#leoini

Es wäre möglicherweise nicht schwer, KConfig zu portieren oder Teile davon zu verwenden (zum Beispiel das Umwandeln der Datentypen in Strings und zurück).



Also muss ich doch zwei von einander getrennte apps schreiben, einmal fuer Linux und fuer windows.


Würde ich nicht machen.
Zwei Apps zu pflegen ist viel zu viel Aufwand.
Da ist es leichter, einzelne Teile durch #ifdef #else #endif entsprechen anders zu implementieren.



P.S. ein kleine frage hätte ich noch: Wo bekomme ich doku zu proggen unter Windows mit GUI ?

Siehe oben.
Wenn du nicht mit Qt2 Funktionalität auskommst (kann ich mir eigentlich nciht vorstellen) dann solltest du eher eine andere Crossplattform Bibliothek in Erwägung ziehen, als eine extra Windows App zu machen.

Ciao,
_

jonasge
12-11-2002, 12:25
hi,
habe gerade ne antwort von trolltech bekommen:

Hi Jonas,

Unfortunately, Trolltech has not found a way of making free versions for
Mac OS X and Windows without risking the very business model we depend
upon to be able to further develop and support Qt. We do not plan
further releases of non commercial editions of Qt.


Best regards,
Sigrid
Trolltech AS, Waldemar Thranes gt. 98, N-0175 Oslo, Norway


gruss jonas