sql >> Database >  >> RDS >> Mysql

MySQL voor Qt op Mac

Download eerst de Qt SDK-bronnen en een versie van de mysql-serverbronnen, pak ze allebei uit.

Maak Symlinks naar de lib-bestanden van MySQL:

sudo ln -s /Users/simon/Downloads/mysql-5.6.11-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.dylib
sudo ln -s /Users/simon/Downloads/mysql-5.6.11-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient_r.dylib
sudo ln -s /Users/simon/Downloads/mysql-5.6.11-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
sudo ln -s /Users/simon/Downloads/mysql-5.6.11-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient_r.18.dylib

Daarna cd naar uw uitgepakte Qt SDK in de map /Users/simon/Downloads/qt-everywhere-opensource-src-4.8.4/src/plugins/sqldrivers/mysql

Bouw de bibliotheken:

qmake -spec macx-g++ -o Makefile "INCLUDEPATH+=/Users/simon/Downloads/mysql-5.6.11-osx10.7-x86_64/include" "LIBS+=-L/usr/lib -lmysqlclient_r" mysql.pro
make
mv libqsqlmysql_debug.dylib libqsqlmysql.dylib
cp -R libqsqlmysql.dylib /Developer/Applications/Qt/plugins/sqldrivers/

Daarna zou u de QMYSQL-plug-in moeten kunnen gebruiken. Controleer of de bibliotheek correct is geladen met deze regel code (plaats het in een constructor zodat je de uitvoer direct na het starten van de app hebt):

qDebug() << QCoreApplication::libraryPaths();
qDebug() << QSqlDatabase::drivers();

Voor bijv. mijn uitvoer ziet er nu zo uit:

("/Developer/Applications/Qt/plugins", "/Users/simon/Coding/qt4c/build-SQLtable-Desktop-Debug/SQLtable.app/Contents/MacOS") 
("QSQLITE", "QMYSQL3", "QMYSQL", "QODBC3", "QODBC", "QPSQL7", "QPSQL") 


  1. Best practice van bulk_create voor enorme records

  2. Mysql COUNT op datum is slechts een deel van DATETIME

  3. Metadata lock op MySQL 5.7, kan het sluitproces niet vinden?

  4. MySql 5.7 Functie UUID() standaardsortering - Illegale mix van sorteringen