انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: مشکل با درایور Mysql در کیوت  (دفعات بازدید: 1285 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین kooroshrad

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • بیاموزیم و آموزش دهیم
مشکل با درایور Mysql در کیوت
« : 30 شهریور 1398، 01:41 ب‌ظ »
با سلام

از کیوت ورژن ۵.۱۳.۱ استفاده میکنم و با درایور mysql بازم به مشکل بر خوردم

خروجی کد زیر رو برا تون گذاشتم


    QSqlDatabase db;
    db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setUserName("root");
    db.setPassword("tmbax0098");
    if(db.open()){
       qDebug()<<"open";
       db.close();

    }else{
       qDebug()<<"fail";
    }


و خروجی اینو بهم میده


QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
fail

در ضمن mariadb-server و mariadb-client رو از قبل نصب و کانفیگ کردم کردم

مسیر نصب کیوت
/opt/Qt5.13.1/

طبق دستور العمل توی لینک زیر رفتم ولی نشد




/opt/Qt5.13.1/5.13.1/Src/qtbase/src/plugins/sqldrivers$ qmake -- MYSQL_PREFIX=/usr/local
qmake: could not find a Qt installation of ''

کجای کار رو اشتباه رفتم که درایور رو نمیشناسه ؟

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #1 : 30 شهریور 1398، 02:38 ب‌ظ »
اول لینک زیر را بررسی کنید

https://stackoverflow.com/questions/14667768/qmysql-driver-available-but-not-loaded


بعد به نظر شما qmake  نصب نکردید
با دستور apt install qt5-default نصب کنید.


https://stackoverflow.com/a/18814086

آفلاین kooroshrad

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • بیاموزیم و آموزش دهیم
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #2 : 30 شهریور 1398، 02:51 ب‌ظ »
با تشکر از کمکتون

من با دستور زیر qmake رو نصب کردم

apt install qt5-qmake

 و ضمنا qt5-default رو هم نصب کردم

اما مساله اینجا هست که ورژن پیشفرض برای qt5-default برابر ۵.۹.۵ هست ولی ورژن کیوتی که من روی سیستمم نصب کردم 5.13.1 هست واسه همین کتابخانه libqsqlmysql.o برام کار نمیکنه

اگه بتونم با یه دستور العملی ورژن پیش فرض qt5-default رو به ۵.۱۳.۱ ارتقاء بدم درست میشه ولی نمیدونم چطوری این کار رو بکنم

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #3 : 30 شهریور 1398، 04:23 ب‌ظ »
بسته qtchooser  به شما کمکی میکنه؟


http://manpages.ubuntu.com/manpages/disco/en/man1/qtchooser.1.html

آفلاین kooroshrad

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • بیاموزیم و آموزش دهیم
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #4 : 30 شهریور 1398، 06:46 ب‌ظ »
با سلام

دوست عزیز طبق یک راهنما و با توجه به لینک شما من یک سری عملیات انجام دادم و نتیجه مطابق زیر شده

عوض دستور  : sudo qtchooser -list-versions

جواب زیر رو میگیرم

4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5


و عوض دستور : sudo qtchooser -print-env

جواب زیر رو میگیرم

QT_SELECT="default"
QTTOOLDIR="/opt/Qt5.13.1/5.13.1/gcc_64/bin"
QTLIBDIR="/usr/Qt5.13.1/5.13.1/gcc_64/lib"

یعنی محل کیوتی ورژن  دیفالت رو من محل نصب کیوتم گذاشتم ولی بازم جواب نگرفتم

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #5 : 30 شهریور 1398، 10:22 ب‌ظ »
عریز لینک زیرو یه نگاهی بندازید از طریق متغیر های محیطی ورژن کیوت رو دستکاری کرده فکر کنم مفید باشه براتون


https://unix.stackexchange.com/a/233982

پاسخ های دیگه رو هم بررسی کنید به نظر میرسه حداقل یکیشون کار کنه
« آخرین ویرایش: 30 شهریور 1398، 10:25 ب‌ظ توسط esmaeelE »

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #6 : 30 شهریور 1398، 10:30 ب‌ظ »
با سلام

دوست عزیز طبق یک راهنما و با توجه به لینک شما من یک سری عملیات انجام دادم و نتیجه مطابق زیر شده

عوض دستور  : sudo qtchooser -list-versions

جواب زیر رو میگیرم

4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5


و عوض دستور : sudo qtchooser -print-env

جواب زیر رو میگیرم

QT_SELECT="default"
QTTOOLDIR="/opt/Qt5.13.1/5.13.1/gcc_64/bin"
QTLIBDIR="/usr/Qt5.13.1/5.13.1/gcc_64/lib"

یعنی محل کیوتی ورژن  دیفالت رو من محل نصب کیوتم گذاشتم ولی بازم جواب نگرفتم

به نظر بعد از تغییراتی که انجام دادین یه دستوری برای آپدیت کردن qt استفاده کنین که تغییرات اعمال بشن.
یه چیزی مثل دستور source که در بش داربم.

آفلاین kooroshrad

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • بیاموزیم و آموزش دهیم
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #7 : 31 شهریور 1398، 04:04 ب‌ظ »
با سلام

دوست عزیز طبق یک راهنما و با توجه به لینک شما من یک سری عملیات انجام دادم و نتیجه مطابق زیر شده

عوض دستور  : sudo qtchooser -list-versions

جواب زیر رو میگیرم

4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5


و عوض دستور : sudo qtchooser -print-env

جواب زیر رو میگیرم

QT_SELECT="default"
QTTOOLDIR="/opt/Qt5.13.1/5.13.1/gcc_64/bin"
QTLIBDIR="/usr/Qt5.13.1/5.13.1/gcc_64/lib"

یعنی محل کیوتی ورژن  دیفالت رو من محل نصب کیوتم گذاشتم ولی بازم جواب نگرفتم

به نظر بعد از تغییراتی که انجام دادین یه دستوری برای آپدیت کردن qt استفاده کنین که تغییرات اعمال بشن.
یه چیزی مثل دستور source که در بش داربم.



خب من فهمیدم چه میگین ولی نمیدونم چطوری انجامش بدم (مثلا یه عملیات حذف کامپوننت انجام بدم ؟)

آفلاین kooroshrad

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • بیاموزیم و آموزش دهیم
پاسخ : مشکل با درایور Mysql در کیوت
« پاسخ #8 : 01 مهر 1398، 09:23 ق‌ظ »
با سلام

مشکل حل شد ولی  در نهایت مساله به قوت خودش باقی هست.

سیستم عامل (mint 19.2) رو مجددا نصب کردم

نرم افزار mysql-server رو نصب و کانفیگ کردم

نرم افزار mysql workbench رو نصب کردم

کتابخانه libmysqlclient ورژن ۱۸ رو نصب کردم

نرم افزار کیوت ورژن ۵.۱۲.۱ رو در حالتی که بخش اندرویدش رو نمی خواستم نصب کردم

یه پروژه تست ساختم و کد های اتصال رو بهش اضافه کردم


    QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setUserName("root");
    db.setPassword("");
    qDebug()<< db.open();

در عین ناباوری ( ??? ) درایور mysql رو ساخت و پروژه در خروجی مقدار true برگردوند(به پایگاه داده متصل شد)

در نهایت سوال اینه که پس از اتمام توسعه نرم افزار ودر زمان نصب هم قراره همچین فیلمی سرم دربیاد ؟  ](*,) ;D