Erneut MySQL Treiber bauen

Alles rund um die Programmierung mit Qt
Antworten
Marcus Breuer
Beiträge: 113
Registriert: 31. März 2011 17:19
Wohnort: Aachen
Kontaktdaten:

Erneut MySQL Treiber bauen

Beitrag von Marcus Breuer »

Hallo Forum,

ich bitte Euch um Hilfe. Und zwar habe ich mir nun etliche Beiträge angesehen und mit der offiziellen Anleitung versucht, den MySQL-Treiber zu bauen.

Ich habe den Qt Creator installiert und um an diesen Ordnern src/plugins/sqldrivers/mysql zu kommen qt-everywhere...4.8.5 runtergeladen. Zusätzlich habe ich XAMPP und zusätzlich die Development Dateien installiert.

Soweit ich das sehe, habe ich dann eigentlich alles, was ich brauche, bekomme aber etliche Fehler. Vielleicht dämliche Fehler, aber ich komme dennoch nicht weiter.

Im Anhang findet Ihr eine Textdatei mit der Ausgabe des Terminals. qmake rufe ich aus dem Verzeichnis aus, in dem der Qt Creator installiert ist. Falls ich irgendwelche Angaben vergessen habe und/oder sie sich nicht aus der Textdatei ergeben, bitte kurz schreiben.

Dankeschön.
Marcus
Dateianhänge
mysql_driver.txt
(9.03 KiB) 212-mal heruntergeladen
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Erneut MySQL Treiber bauen

Beitrag von Christian81 »

ld: warning: in /Applications/XAMPP/xamppfiles/lib/mysql//libmysqlclient_r.dylib, missing required architecture x86_64 in file
Passt die Architektur wirklich?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Marcus Breuer
Beiträge: 113
Registriert: 31. März 2011 17:19
Wohnort: Aachen
Kontaktdaten:

Re: Erneut MySQL Treiber bauen

Beitrag von Marcus Breuer »

Hallo Christian81,

dazu hatte ich auch schon den ein oder anderen Beitrag im Netz gefunden und qmake mit entsprechendem Flag für Config aufgerufen. Hoffe, das ist jetzt richtig ausgedrückt. Hatte aber immer noch nicht funktioniert. Ich bin nun auf einen anderen Thread gestoßen, in dem die Lösung darin bestand, die mysql.pro
entsprechend zu ändern. Ich denke, dass das lediglich das Äquivalent zu dem vorher beschriebenen Weg ist.

Also, ich habe das ganze jetzt nochmal anders angefangen:

Ich habe mir die qt-everywhere-4.8.1 runtergeladen. Dort finde ich dann ja unter src... die entsprechende Projektdatei mysql.pro.

Dort habe ich ergänzt:

Code: Alles auswählen

LIBS += /Applications/XAMPP/xamppfiles/lib/mysql/libmysqlclient_r.dylib
INCLUDEPATH+=/Applications/XAMPP/xamppfiles/include/mysql/
Versuche ich das nun zu kompilieren, erhalte ich die folgende Ausgabe unter "Build-Probleme" im Qt Creator:
library not found for -lmysqlclient
Unter Kompilierung steht das Folgende:
13:13:34: Führe Build-Schritte für Projekt mysql aus...
13:13:34: Unveränderte Konfiguration, qmake-Schritt wird übersprungen.
13:13:34: Starte "/usr/bin/make" -w
make: Entering directory `/Users/marcusbreuer/Desktop/qt-everywhere-opensource-src-4.8.1/src/plugins/sqldrivers/mysql-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug'
/Developer/Applications/Qt/Desktop/Qt/4.8.1/gcc/bin/qmake -spec /Developer/Applications/Qt/Desktop/Qt/4.8.1/gcc/mkspecs/macx-g++ CONFIG+=declarative_debug -o Makefile ../mysql/mysql.pro
make: Leaving directory `/Users/marcusbreuer/Desktop/qt-everywhere-opensource-src-4.8.1/src/plugins/sqldrivers/mysql-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug'
make: Entering directory `/Users/marcusbreuer/Desktop/qt-everywhere-opensource-src-4.8.1/src/plugins/sqldrivers/mysql-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug'
/usr/bin/make -f Makefile.Debug
make[1]: Entering directory `/Users/marcusbreuer/Desktop/qt-everywhere-opensource-src-4.8.1/src/plugins/sqldrivers/mysql-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug'
rm -f libqsqlmysql_debug.dylib
g++ -headerpad_max_install_names -arch x86_64 -single_module -dynamiclib -Xarch_x86_64 -mmacosx-version-min=10.5 -o libqsqlmysql_debug.dylib debug/main.o debug/qsql_mysql.o debug/moc_qsql_mysql.o -F/Developer/Applications/Qt/Desktop/Qt/4.8.1/gcc/lib -L/Developer/Applications/Qt/Desktop/Qt/4.8.1/gcc/lib -lmysqlclient /Applications/XAMPP/xamppfiles/lib/mysql/libmysqlclient_r.dylib -framework QtSql -L/usr/local/pgsql/lib -L/tmp/qt-stuff-85167/source/qt-everywhere-opensource-src-4.8.1/Desktop/Qt/4.8.1/gcc/lib -F/tmp/qt-stuff-85167/source/qt-everywhere-opensource-src-4.8.1/Desktop/Qt/4.8.1/gcc/lib -framework QtCore
ld: warning: directory '/usr/local/pgsql/lib' following -L not found
make[1]: Leaving directory `/Users/marcusbreuer/Desktop/qt-everywhere-opensource-src-4.8.1/src/plugins/sqldrivers/mysql-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug'
make: Leaving directory `/Users/marcusbreuer/Desktop/qt-everywhere-opensource-src-4.8.1/src/plugins/sqldrivers/mysql-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug'
ld: warning: directory '/tmp/qt-stuff-85167/source/qt-everywhere-opensource-src-4.8.1/Desktop/Qt/4.8.1/gcc/lib' following -L not found
ld: warning: directory '/tmp/qt-stuff-85167/source/qt-everywhere-opensource-src-4.8.1/Desktop/Qt/4.8.1/gcc/lib' following -F not found
ld: library not found for -lmysqlclient
collect2: ld returned 1 exit status
make[1]: *** [libqsqlmysql_debug.dylib] Error 1
make: *** [debug] Error 2
13:13:34: Der Prozess "/usr/bin/make" wurde mit dem Rückgabewert 2 beendet.
Fehler beim Erstellen des Projekts mysql(Ziel: Desktop)
Bei der Ausführung von Build-Schritt 'Make'
Viele Wege führen nach Rom aber in meinem Fall verlaufe ich mich immer. Ich versuche im Moment noch, diese *.dylib in *.so umzuwandeln, da ja davon auch die Rede in der Beschreibung auf der Qt-Homepage ist.

Für Anmerkungen bin ich aber dennoch sehr dankbar.

Schönen Sonntag.
Grüße,
Marcus
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Erneut MySQL Treiber bauen

Beitrag von Christian81 »

Der Parameter LIBS muss ausserdem anders aufgerufen werden, siehe Doku: http://harmattan-dev.nokia.com/docs/lib ... .html#libs
Und .dylib ist schon richtig ... du bist nunmal unter MacOS. Mir scheint Dir fehlen dir hier definitiv ein paar Grundlagen...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Marcus Breuer
Beiträge: 113
Registriert: 31. März 2011 17:19
Wohnort: Aachen
Kontaktdaten:

Re: Erneut MySQL Treiber bauen

Beitrag von Marcus Breuer »

Danke, ich versuche es mal weiter. Habe jetzt entsprechende *.dylib-Dateien erzeugen können, Dateien kopiert und noch werden sie aber über QSqlDatabase::drivers() nicht angezeigt. Wenn ich wieder am Rande der Verzweiflung stehe, werde ich einfach nochmal alles beschreiben, was ich gemacht habe etc.

Viele Grüße,
Marcus
Antworten