在Mac上连接Qt 5.4与MySQL - 未加载QMYSQL驱动程序

时间:2015-06-02 04:02:06

标签: c++ mysql qt sqlite qtsql

我已经看过其他人这个问题,但我找不到有效的解决方案。我已经将MySQL下载了一段时间,并将其用于Web开发,但这是我第一次尝试将其与Qt联系起来。

这是我的main.cpp文件:

#include "mainwindow.h"
#include "passwords.h"
#include "signup.h"
#include <QApplication>
#include <QWidget>
#include <QtSql>
#include <QDebug>
#include "qsqldriver.h"


int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QString servername = "LOCALHOST//QMYSQL";
QString dbname = "test";
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

db.setConnectOptions();

QString dsn = QString("DRIVER={SQL Native Client};SERVER=%1;DATABASE=%2;Trusted_Connection=Yes;").arg(servername) .arg(dbname);

db.setDatabaseName(dsn);

if(db.open()){
    qDebug() << "Opened";
    db.close();
}
else{
    qDebug() << "Error =" << db.lastError().text();
    qDebug ( )  <<  QSqlDatabase :: drivers ( );
}

MainWindow w;

w.show();

return a.exec();
}

我在.pro文件中包含以下内容:

INCLUDEPATH += /Users/tomeldridge/downloads/mysql-5.6.17-osx10.7-x86_64/include
INCLUDEPATH += /Users/tomeldridge/downloads/mysql-5.6.17-osx10.7-x86_64/lib

INCLUDEPATH += /Applications/XAMPP/xamppfiles/htdocs/xampp/sqlite/include
INCLUDEPATH += /Applications/XAMPP/xamppfiles/htdocs/xampp/sqlite

我收到错误: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

如果我使用SQLite,我会收到错误: Error: out of memory opening database

我尝试使用Qt文档中的代码从头开始构建驱动程序:

-no-sql-<driver> ... Disable SQL <driver> entirely.
-qt-sql-<driver> ... Enable a SQL <driver> in the Qt Library, by default
                 none are turned on.
-plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
                 at run time.

                 Possible values for <driver>:
                 [ db2 ibase mysql oci odbc psql sqlite sqlite2 tds ]

这显然要求您下载了我去过的Qt源代码,因此您可以使用Qt Configure。一路上出了问题,我试图在终端上使用的命令也没有用。

我还尝试将MySQL lib文件的副本移动到Qt lib目录中,因为我看到有人为之工作,但我没有运气。

我已经完成了几项尝试并让它发挥作用,我之前已经连接过MySQL,但是我已经浪费了两天试图让数据库运行,所以任何帮助都会太棒了。

0 个答案:

没有答案
相关问题