[gelöst] Qt + mysql auf mac os

Verschiedenes zu Qt
Antworten
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

[gelöst] Qt + mysql auf mac os

Beitrag von pfid »

Hallo,

ich versuche gerade das mysql-plugin unter mac os zum laufen zu bekommen. XCode sowie das Qt-Komplettpaket wurde frisch installiert (da waren keine Qt-Quellen dabei). Habe daher die Quellen nochmal extra runtergeladen, und manuell nach /Developer/Applications/Qt/src entpackt (ich wollte nicht nochmal *alles* neu kompilieren).

Nun hab ich mir die mysql-dev lib runtergeladen, und erfolgreich das mysql-plugin kompiliert. Dabei ist eine libqsqlmysql_debug.dylib Datei rausgekommen, die auch gegen mysql gelinkt ist:

Code: Alles auswählen

libqsqlmysql_debug.dylib:
	/libqsqlmysql_debug.dylib (compatibility version 4.7.0, current version 4.7.0)
	libmysql.16.dylib (compatibility version 16.0.0, current version 16.0.0)
	QtSql.framework/Versions/4/QtSql (compatibility version 4.7.0, current version 4.7.0)
	QtCore.framework/Versions/4/QtCore (compatibility version 4.7.0, current version 4.7.0)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 103.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)
Das Gerät hab ich nach /Developer/Applications/Qt/plugins/sqldrivers/ kopiert. Wie bekomme ich mein Qt-Projekt damit gelinkt? Kompilieren geht, aber er linkt nicht gegen das mysql-plugin.
Zuletzt geändert von pfid am 7. März 2011 08:33, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ein Plugin muss man nicht linken...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Stimmt auch wieder. Wie und wo muss ich das unter Mac OS hinpacken?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Prinzipiell sollte das passen. Bringt also QSqlDatabase::drivers() kein mysql-Plugin zurück? Unter Windows muss das Plugin im Release-Modus gebaut sein wenn Qt auch im Release gebaut ist und umgekehrt - ggf. ist das bei MacOS auch so.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Also, das liegt im Plugins-Ordner:

Code: Alles auswählen

mueller:~ $ ll /Developer/Applications/Qt/plugins/sqldrivers/
total 4088
drwxrwxr-x   7 root  admin   238B 28 Feb 14:45 .
drwxrwxr-x  12 root  admin   408B 10 Sep 18:19 ..
-rw-rw-r--   1 root  admin   1,0M 10 Sep 18:19 libqsqlite.dylib
lrwxr-xr-x   1 fial  admin    24B  1 Mär 09:16 libqsqlmysql.dylib -> libqsqlmysql_debug.dylib
-rwxr-xr-x   1 fial  admin   136K  1 Mär 09:16 libqsqlmysql_debug.dylib
-rw-rw-r--   1 root  admin   327K 10 Sep 18:19 libqsqlodbc.dylib
-rw-rw-r--   1 root  admin   430K 10 Sep 18:19 libqsqlpsql.dylib
Programm wird im Debug modus gebaut. Hier kommt der Fehler:

Code: Alles auswählen

      if (!db.isDriverAvailable("QMYSQL"))
         QMessageBox::information(&w, "Database", "QMYSQL is not available");
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Habs hinbekommen. Die runtergeladene mysql lib war 32bittig, ich brauchte aber 64bit. Nun funktionierts :)
Antworten