Mysql Treiber

Alles rund um die Programmierung mit Qt
Antworten
kannaum
Beiträge: 73
Registriert: 31. Januar 2010 09:57

Mysql Treiber

Beitrag von kannaum »

Hallo,

Verzweifle jetzt schon seit ein paar Tagen an einem MySql-Treiber für Qt.
Habe dann nach einer Zeit auch hier eine gute Anleitung gefunden, mit der ich jetzt aber Probleme habe.
http://qtforum.de/forum/viewtopic.php?t ... ql+treiber
Bin bis zu diesem Punkt gekommen:
-> Da der MinGW Linker nicht zu den MySQL DLLs (libmysql.dll) kompatibel ist, muß eine statische Import
-Lib (libmysql.a) erzeugt werden. Dazu werden zwei Tools (reimp.exe und dlltool.exe) aus dem Paket mingw-utils benötigt. Falls reimp bei euch nicht dabei ist, müsst ihr es seperat runterladen und in c:\Programmieren\MinGW\bin kopieren.
Ich muss noch sagen, dass ich wirklich, Gott sei Dank, noch nie etwas mit der Konsole zu tun gehabt habe.
Habe reimp schon in den richtigen Ordner gezogen.
Nun bei der nächste Nummer komme ich zu folgendem Problem:
Ich kann nicht in das richtige MySql-Verzeichnis wechseln, da es dieses nicht gibt.
Bei mir sieht der MySql-Ordner vereinfacht so aus:
-MySQL
-MySQL Server 5.5
-lib
-debug -plugin
In diesem Ordner gibt es also keinen Ordner namens opt.
Heißt dieser beim neuen MySQL anders, oder habe ich eine falsche MySQL-Version installiert?
Ich konnte beim installieren zum Beispiel auch nirgends nur C/C++ Header Files ankreuzen.

Ich hoffe ihr versteht, was ich meine.
Betriebssystem ist übrigends Win 7.

mfg
cyberduck
Beiträge: 16
Registriert: 14. Juli 2010 12:07

Beitrag von cyberduck »

Hi,

welche MySQL-Version bei Dir installiert ist weiß ich nicht. Normal sollte die Datei unter \lib\opt im MySQL-Verzeichnis liegen. Allerdings habe ich ein Noinstall-Paket verwendet. Wie es bei einer Installation aussieht, kann ich leider nicht beurteilen.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Was ich ned verstehe:

libmysql.so / mysql.dll ist doch ne reine C-Dll / so ... normal sollt man fuer das teil keine Importlib brauchen.
Ich hab mir vor paar versionen auch mal nen mysql qt plugin bauen muessen, da wollt er nur die headers fuers mysql (mysql/include) haben.

Habens das umgestellt ?

Die header musste man sich extra besorgen, stichwort Connector/C, die sind bei der normalen client installation ned bei, glaub ich

http://dev.mysql.com/downloads/connector/c/


Ciao ...
kannaum
Beiträge: 73
Registriert: 31. Januar 2010 09:57

Beitrag von kannaum »

Mitlerweile bin ich schon etwas weiter.
Habe einfach eine ältere Version von MySQL genommen, wo es dieses Ordner dann gegeben hat.
Jetzt stehe ich aber bei folgendem Punkt:
-> Folgende Befehle ausführen und zwischendurch viel Kaffee trinken gehen, weil das dauert:

Zitat:
configure -static -release -no-exceptions -qt-sql-odbc -qt-sql-mysql -qt-sql-sqlite -qt-gif -qt-libpng -qt-libjpeg -qt-libtiff -no-vcproj
Hier ist der Text, der dann bei mir in der Konsole steht.
Habe auch noch kurz den nächsten Befehl ausgeführt, damit man sieht, dass es nicht geht:
C:\Qt\2010.04\qt>configure -static -release -no-exceptions -qt-sql-odbc -qt-sql-
mysql -qt-sql-sqlite -qt-gif -qt-libpng -qt-libjpeg -qt-libtiff -no-vcproj
Which edition of Qt do you want to use ?
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
o

This is the Qt for Windows Open Source Edition.

You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) version 2.1
or the GNU General Public License (GPL) version 3.

Type '3' to view the GNU General Public License version 3 (GPLv3).
Type 'L' to view the Lesser GNU General Public License version 2.1 (LGPLv2.1).
Type 'y' to accept this license offer.
Type 'n' to decline this license offer.

Do you accept the terms of the license?
y
All the required DirectShow/Direct3D files couldn't be found.
Make sure you have either the platform SDK AND the DirectShow SDK or the Windows
SDK installed.
If you have the DirectShow SDK installed, please make sure that you have run the
<path to SDK>\SetEnv.Cmd script.
vmr9.h not found
dshow.h not found
strmiids.lib not found
dmoguids.lib not found
msdmo.lib not found
d3d9.h not found
Environment:
INCLUDE=
Unset
LIB=
Unset
PATH=
C:\Program Files (x86)\PC Connectivity Solution\
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\Common Files\DivX Shared\
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\
C:\Program Files\Microsoft SQL Server\100\DTS\Binn\
C:\Microsoft SQL Server Migration Assistant 2008 for MySQL\bin\
C:\Program Files (x86)\QuickTime\QTSystem\
D:\Philipp\c++\Gmmts\mysql\mingw\bin
You are licensed to use this software under the terms of the GNU GPL version 3.Y
ou are licensed to use this software under the terms of the Lesser GNU LGPL vers
ion 2.1.
See C:/Qt/2010.04/qt3

or C:/Qt/2010.04/qtL

Configuration:
minimal-config
small-config
medium-config
large-config
full-config
release
Qt Configuration:
release
zlib
gif
png
accessibility
qt3support
opengl
s60
ipv6
script
scripttools
multimedia
audio-backend
webkit
native-gestures
svg
minimal-config
small-config
medium-config
large-config
full-config

QMAKESPEC...................win32-g++ (detected)
Architecture................windows
Maketool....................mingw32-make
Debug symbols...............no
Link Time Code Generation...no
Accessibility support.......yes
STL support.................yes
Exception support...........no
RTTI support................yes
MMX support.................no
3DNOW support...............no
SSE support.................no
SSE2 support................no
IWMMXT support..............no
OpenGL support..............yes
OpenVG support..............no
OpenSSL support.............no
QtDBus support..............no
QtXmlPatterns support.......no
Phonon support..............no
QtMultimedia support........yes
WebKit support..............yes
Declarative support.........no
QtScript support............yes
QtScriptTools support.......yes
Graphics System.............raster
Qt3 compatibility...........yes

Third Party Libraries:
ZLIB support............qt
GIF support.............yes
TIFF support............plugin
JPEG support............plugin
PNG support.............qt
MNG support.............plugin
FreeType support........no

Styles:
Windows.................yes
Windows XP..............no
Windows Vista...........no
Plastique...............yes
Cleanlooks..............yes
Motif...................yes
CDE.....................yes
Windows CE..............no
Windows Mobile..........no
S60.....................no

Sql Drivers:
ODBC....................yes
MySQL...................yes
OCI.....................no
PostgreSQL..............no
TDS.....................no
DB2.....................no
SQLite..................yes (qt)
SQLite2.................no
InterBase...............no

Sources are in..............C:\Qt\2010.04\qt
Build is done in............C:\Qt\2010.04\qt
Install prefix..............C:\Qt\2010.04\qt
Headers installed to........C:/Qt/2010.04/qt/include
Libraries installed to......C:/Qt/2010.04/qt/lib
Plugins installed to........C:/Qt/2010.04/qt/plugins
Binaries installed to.......C:/Qt/2010.04/qt/bin
Docs installed to...........C:/Qt/2010.04/qt/doc
Data installed to...........C:/Qt/2010.04/qt
Translations installed to...C:/Qt/2010.04/qt/translations
Examples installed to.......C:/Qt/2010.04/qt/examples
Demos installed to..........C:/Qt/2010.04/qt/demos

WARNING: Using static linking will disable the use of plugins.
Make sure you compile ALL needed modules into the library.
Creating qmake...
execute: File or path is not found (mingw32-make)
execute: File or path is not found (mingw32-make)
Cleaning qmake failed, return code -1


C:\Qt\2010.04\qt>mingw32-make sub-src
Der Befehl "mingw32-make" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Noch ein paar Infos:
Ich habe den Qt-Creator.
Dort habe ich den Ordner mysql (der mingw und die mysql-Version beinhaltet) in den Unterordner qt hineinkopiert.
Stimmt das so, oder muss ich diesen noch unbennen, oder wieso geht dieser Befehl sonst nicht?

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

Beitrag von Christian81 »

mingw32-make sollte schon im PATH liegen.
Warum statisch und warum das ganze Qt neu bauen? Einfach in das mysql-PluginVerzeichnis gehen, qmake aufrufen und bauen lassen
cd c:\qt\src\plugins\sqldrivers\mysql
qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=-LC:\MYSQL\LIB\OPT -lmysql" mysql.pro
mingw32-make
Siehe auch http://doc.trolltech.com/4.7/sql-driver.html
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kannaum
Beiträge: 73
Registriert: 31. Januar 2010 09:57

Beitrag von kannaum »

So habe das jetzt folgendermaßen probiert:
C:\Qt\2010.04\qt\src\plugins\sqldrivers\mysql>qmake -o Makefile "INCLUDEPATH+=C:
\Qt\mysql\mysql\include" "LIBS+=-LC:\Qt\mysql\mysql\lib\opt -lmysql" mysql.pro
Der Befehl "qmake" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Wie man sieht ist es aber nicht gegangen.
In der Variable Path habe ich och folgendes eingefügt:
C:\Qt\mysql\mysql\mingw\bin
Habe mitlerweile auch schon zahlreiche andere Sachen probiert, aber es kommt immer, dass er qmake nicht kennt.

An was kann denn das liegen?

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

Beitrag von Christian81 »

qmake sollte auch im PATH sein würde ich sagen ...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kannaum
Beiträge: 73
Registriert: 31. Januar 2010 09:57

Beitrag von kannaum »

Habe folgendes in den Path eingefügt:
C:\Qt\2010.04\qt\qmake
Ist das das richtige, oder muss ich etwas anderes einfügen?
Dann ist ein Fenster gekommen, dass eine .dll fehlt.
Habe diese .dll dann in den qmake-Ordner hineinkopiert.
Dann ist aber nicht gekommen, dass er qmake nicht kennt, sondern es ist einfach gar nichts bekommen.
Wenn ich dann aber mingw32-make ausfürhren will, kommt, dass er diesen Befehl nicht kennt.
kannaum
Beiträge: 73
Registriert: 31. Januar 2010 09:57

Beitrag von kannaum »

So habe jetzt mitlerweile schon sehr viele verschiedene Versionen, die ich im Internet gefunden habe probiert.
Der erste Befehl ist jedes mal gegangen.
Beim 2. ist dann aber jedes mal gekommen, dass der Befehl nicht erkannt wurde.
Könnte mit jemand vielleicht genau sagen, was jetzt alles im PATH stehen muss?

mfg
Aenni
Beiträge: 79
Registriert: 15. Juli 2010 22:29

Beitrag von Aenni »

hi, ich weiss nicht ob es dir Hilft, aber ich hatte auch mal Probleme mit Mysql ggf klappt es ja damit:
http://qtforum.de/forum/viewtopic.php?t ... c&start=15
Antworten