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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: kooroshrad در 30 شهریور 1398، 01:41 ب‌ظ

عنوان: مشکل با درایور Mysql در کیوت
ارسال شده توسط: kooroshrad در 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/

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

https://doc.qt.io/qt-5/sql-driver.html#qmysql



/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 ''

کجای کار رو اشتباه رفتم که درایور رو نمیشناسه ؟
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: esmaeelE در 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
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: kooroshrad در 30 شهریور 1398، 02:51 ب‌ظ
با تشکر از کمکتون

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

apt install qt5-qmake

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

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

اگه بتونم با یه دستور العملی ورژن پیش فرض qt5-default رو به ۵.۱۳.۱ ارتقاء بدم درست میشه ولی نمیدونم چطوری این کار رو بکنم
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: esmaeelE در 30 شهریور 1398، 04:23 ب‌ظ
بسته qtchooser  به شما کمکی میکنه؟


http://manpages.ubuntu.com/manpages/disco/en/man1/qtchooser.1.html
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: kooroshrad در 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"

یعنی محل کیوتی ورژن  دیفالت رو من محل نصب کیوتم گذاشتم ولی بازم جواب نگرفتم
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: esmaeelE در 30 شهریور 1398، 10:22 ب‌ظ
عریز لینک زیرو یه نگاهی بندازید از طریق متغیر های محیطی ورژن کیوت رو دستکاری کرده فکر کنم مفید باشه براتون


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

پاسخ های دیگه رو هم بررسی کنید به نظر میرسه حداقل یکیشون کار کنه
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: esmaeelE در 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 که در بش داربم.
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: kooroshrad در 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 که در بش داربم.



خب من فهمیدم چه میگین ولی نمیدونم چطوری انجامش بدم (مثلا یه عملیات حذف کامپوننت انجام بدم ؟)
عنوان: پاسخ : مشکل با درایور Mysql در کیوت
ارسال شده توسط: kooroshrad در 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