رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران
نیما غراب

پیکربندی MySQL با کامپایلر مایکروسافت برای Qt


امتیاز دادن به این موضوع:

پست های پیشنهاد شده

ارسال شده در (ویرایش شده)

به نام خدا

در این مطلب قصد داریم تا طریقه پیکربندی پایگاه داده MySQL را با استفاده از کامپایلر مایکروسافت بر روی سیستم عامل ویندوز، بررسی نماییم.

در ابتدا می‌بایست پایگاه داده MySQL را بر روی سیستم خود نصب نماییم. بدین منظور به آدرس این آدرس رفته و سپس و نصاب آنلاین یا آفلاین آن را دریافت و بر روی سیستم خود نصب می‌نماییم.

حال لازم است تا مسیر qmake مربوط به کیت مورد نظر واقع در محل نصب کتابخانه کیوت به متغیر محیطی Path سیستم عامل معرفی شود. در اینجا قصد داریم تا از MSVC 2017 64 bit استفاده کنیم که بر روی سیستم عامل 64 بیتی اجرا شده و خروجی دودویی برای سیستم عامل 64 بیتی تولید می‌کند.

مطابق شکل زیر مسیر qmake مورد نظر را به Path سیستم عامل اضافه می‌کنیم:

1.thumb.jpg.1472725c8587c45c65e69bc418f465eb.jpg

 

پس از این کار از منوی Start پوشه Visual Studio 2017 را انتخاب کرده و سپس x64 Native Tools Command Prompt for VS 2017 را انتخاب کرده تا کنسول باز شود.

حال می‌بایست به آدرس محل درایور پایگاه داده کیوت برویم. بدین منظور دستور زیر را در کنسول وارد می‌کنیم:

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools>F:

F:\>cd F:\Softwares\Qt\5.13.1\Src\qtbase\src\plugins\sqldrivers

دستور اول به منظور تغییر درایو از C به F وارد شده و دستور دوم آدرس محل نصب کیوت روی سیستم نگارنده مطلب می‌باشد.

حال دستور زیر را وارد می‌کنیم:

qmake -- MYSQL_INCDIR="C:\Program Files\MySQL\MySQL Server 8.0\include" MYSQL_LIBDIR="C:\Program Files\MySQL\MySQL Server 8.0\lib"

فراخوانی دستور qmake سبب ایجاد یک makefile شده که بعدا برای کامپایل درایور MySQL استفاده می‌شود. آدرس‌های بالا نیز محل نصب پایگاه داده MySQL در حالت پیشفرض را نشان میدهد. پس از اتمام عملیات نتیجه زیر می‌بایست حاصل شود:

2.thumb.jpg.810a2bda049f206d41ca0613d0929881.jpg

 

ملاحظه می‌شود که در مقابل MySql کلمه yes نوشته شده که این به معنی موفقیت آمیز بودن یافتن درایور MySQL می‌باشد. در نهایت با دستور زیر عملیات کامپایل آغاز می‌شود:

nmake sub-mysql

پس از اتمام این مرحله نیز در پایان دستور زیر را اجرا کرده تا فایل‌های کامپایل شده، نصب شوند:

nmake install

محل نصب این فایل‌های راه انداز درایور در مسیر زیر می‌باشد:

F:\Softwares\Qt\5.13.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers

در مسیر بالا دو فایل به نام‌های qsqlmysql.dll و qsqlmysqld.dll وجود دارد که باید در کنار فایل اجرایی برنامه کامپایل شده قرار گیرد تا برنامه به درستی اجرا شود.  همچنین در مسیر:

C:\Program Files\MySQL\MySQL Server 8.0\lib

فایل libmysql.dll وجود دارد که می‌بایست در مسیر فایل اجرایی برنامه قرار گیرد.

در پایان نوبت به این رسیده تا با ایجاد یک پروژه آزمایشی در Qt Creator بررسی کنیم تا همه چیز به درستی پیکربندی شده باشد.

قبل از آن می‌‎بایست یک پایگاه داده آزمایشی در MySQL ایجاد کرده و سپس با استفاده از کتابخانه کیوت  به آن متصل شویم. ابتدا خط فرمان MySQL را باز کرده و دستور زیر را وارد می‌کنیم:

 CREATE DATABASE mydatabase;

که mydatabase نام پایگاه داده ایجاد شده می‌باشد.

حال پس از ایجاد یک پروژه ساده در Qt Creator محتویات فایل .pro را مطابق شکل زیر وارد می‌کنیم:

QT += core sql
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
SOURCES += \
        main.cpp

و در فایل main.cpp خواهیم داشت:

#include <iostream>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlError>
#include <QDebug>

using namespace std;

int main()
{
    QSqlDatabase db {QSqlDatabase::addDatabase ("QMYSQL")};
    db.setHostName ("localhost");
    db.setDatabaseName("mydatabase");
    db.setUserName ("root");
    db.setPassword ("123456789");
    if(db.open ()) {
        qDebug() << "Success!";
    } else {
        qDebug() << db.lastError ().text ();
    }
}

با ساخت و اجرا پروژه باید پیام Success! در خروجی نمایش داده شود. این یعنی پایگاه داده MySQL با موفقیت نصب و پیکربندی شده است.

ویرایش شده در توسط نیما غراب

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

یک نکاتی هست در هنگام عمل ساخت درایور بالا که در زیر می نویسم.

1- در حین اجرای این کد: qmake -- MYSQL_INCDIR="C:\Program Files\MySQL\MySQL Server 8.0\include" MYSQL_LIBDIR="C:\Program Files\MySQL\MySQL Server 8.0\lib"

اگر این خطا رخ داد: msvc-version.conf loaded but QMAKE_MSC_VER isn't set

می بایستی فایل با نام: .qmake.stash درون پوشه \Qt\Qt5.12.4\5.12.4\Src\qtbase\src\plugins\sqldrivers ( نکته: که این مسیر نصب Qt می باشد و باید به این زیر پوشه ها مراجعه شود) پاک شود، در واقع یک فایل temp است و همچنین در صورت عدم اصلاح فایل های   .pro.user   که دررون این پوشه و یا پوشه های داخل این پوشه هست رو پاک کرد.

برگرفته از: https://stackoverflow.com/questions/53665166/qmake-msc-ver-isnt-set

2- اگر بعد از اتمام کارهای بالا و موفقیت در آن و کپی فایل های dll مورد نیاز باز خطای driver is not loaded رو داد که مبنی بر این است که هنوز نتونسته درایور رو بارگذاری کنه به این نکته دقت کنید  فایل dll با نام libmysql.dll می بایستی 64bit باشد که با یک جستجو میتونید اون رو پیدا کنید.

برگرفته از: https://stackoverflow.com/questions/42683438/qt-5-8-sql-connection-errorqmysql-driver-not-loaded-on-windows-10/45394110#45394110

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...