Qt c ++ встроенный MySQL

Я писал программу на QT 5.0.2 с Mingw 4.7 на Windows с MySQL Server 5.7.

Я впервые начал с установки драйвера MYQSL для QT с этот урок. Это работает, и я могу получить доступ к данным, но я должен запустить сервер из MySQL, или он не будет устанавливать соединение с базой данных (потому что он не работает).

Для моей программы мне нужно, чтобы сервер запускался при запуске программы. Это та часть, где я застрял. Я знаю, что мне нужно использовать библиотека libmysqld но я, кажется, не заставить его работать. Я не нашел много полезных примеров, поэтому я попробовал это так:

это файл .pro:

QT       += core sql
QT       += sql

QT       -= gui

TARGET = Temp
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

INCLUDEPATH += "C:\Program Files (x86)\MySQL\MySQL Server 5.7\include"INCLUDEPATH += "C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib"
LIBS += -L"C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib" -llibmysqld

это мой основной файл:

#include <QtSQL>
#include <qsql_mysql.h>
#include <mysql.h>int main(int argc, char *argv[])
{
QSqlDatabase mydb;
MYSQL *mysql;

static char *server_options[] = \
{ "mysql_test", "--defaults-file=/home/cquiros/temp/mysql/my.cnf", NULL };
int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;

static char *server_groups[] = { "embedded", NULL };

qDebug() << "Loading embedded";
mysql_library_init(num_elements, server_options, server_groups);
mysql = mysql_init(NULL);
mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "embedded");
mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL);

mysql_real_connect(mysql, NULL,NULL,NULL, "database1", 0,NULL,0);

QMYSQLDriver *drv = new QMYSQLDriver(mysql);

mydb = QSqlDatabase::addDatabase(drv,"connection1"); //Add the database connector to MySQL

mydb.setDatabaseName("test");

if (!mydb.open()) //Try to opens the database
{
qDebug() << "Error while opening the database";
}
}

Когда я запускаю это, я получаю эту ошибку: «

ошибка: неопределенная ссылка на `чертенок__ZN12QMYSQLDriverC1EP8st_mysqlP7QObject»
collect2.exe: -1: ошибка: ошибка: ld вернул 1 состояние выхода

Кто-нибудь может помочь мне встать на путь?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector