View Full Version : پيدا نکردن فايل mysql.h در کمپايل پلاگين QMYSQL
AriaGlobal
یک شنبه 20 اسفند 1391, 00:53 صبح
با سلام
من سورس پلاگين mysql رو کمپايل ميکنم اما از خط #include "mysql.h" ايراد ميگيره، فايل رو پيدا نميکنه
من MySQL Connector / C++ رو دانلود و نصب کردم
مشکل از کجاست ؟
دوستان اگر کسي فايل هاي dll اين داريور رو داره و کمپايل کرده هم ايننجا بزاره من dl کنم ممنون ميشم!
alamate_aoal
یک شنبه 20 اسفند 1391, 07:44 صبح
سلام
مسیر فایل های سرآیند و کتابخانه را در فایل پروژه(pro.*) مشخص کردید؟
INCLUDEPATH += C:/MySQL-Server-5.5/include
LIBS += C:/MySQL-Server-5.5/lib/opt/libmysql.lib
AriaGlobal
پنج شنبه 24 اسفند 1391, 11:50 صبح
سلام
مسیر فایل های سرآیند و کتابخانه را در فایل پروژه(pro.*) مشخص کردید؟
INCLUDEPATH += C:/MySQL-Server-5.5/include
LIBS += C:/MySQL-Server-5.5/lib/opt/libmysql.lib
فايل هاي هدر رو در .pro به اين شکل تنظيم کردم :
TARGET = qsqlmysql
INCLUDEPATH+= C:/Program Files/MySQL/MySQL Server 5.6/include LIBS+= C:/Program Files/MySQL/MySQL Server 5.6/lib/libmysql.lib
SOURCES = main.cpp OTHER_FILES += mysql.json include(../../../sql/drivers/mysql/qsql_mysql.pri)
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin include(../qsqldriverbase.pri)
در ضمن درايوري رو که گذاشته بوديد در مسير پلاگين کپي کردم جواب درستور
qDebug() << QSQLDatabase::Drivers();
ميشه اين :
("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3")
اما جواب اين دستور :
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setUserName("root"); db.setPassword(""); db.setDatabaseName("test"); db.setHostName("127.0.0.1");
if (!db.open()) { qDebug() << "Err : " << db.lastError(); }
ميشه اين :
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Err : QSqlError(-1, "Driver not loaded", "Driver not loaded")
aidinMC
پنج شنبه 24 اسفند 1391, 12:35 عصر
چون یه سری dll باید کنار فایل اجرایت کپی کنی حالا دقیقا چی هستش نمیدونم چون mysql کار نمیکنم :)
ولی جستجو کنی پیدا میکنی :)
alamate_aoal
شنبه 26 اسفند 1391, 21:32 عصر
جالبه! هم میگه درایور load شده و هم میگه load نشده. ببین خروجی دستور زیر چیه:
qDebug() << db.isValid()
<< db.isDriverAvailable("QMYSQL");
AriaGlobal
یک شنبه 27 اسفند 1391, 16:35 عصر
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); qDebug() << db.isValid() << db.isDriverAvailable("QMYSQL");
اين رو نوشتم و ديباگ من شد اين :
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3
false true
alamate_aoal
سه شنبه 29 اسفند 1391, 17:39 عصر
سرویس MySQL درست کار میکنه؟ از طریق خط فرمان میتونی با MySQL ارتباط برقرار کنی؟
کامپایلرت چیه؟
از کیوت نسخهی چند استفاده میکنی؟
AriaGlobal
سه شنبه 29 اسفند 1391, 20:47 عصر
سرویس MySQL درست کار میکنه؟ از طریق خط فرمان میتونی با MySQL ارتباط برقرار کنی؟
کامپایلرت چیه؟
از کیوت نسخهی چند استفاده میکنی؟
بله با PHP به ديتابيس وصل ميشم.
کمپايلر هم msvc2010 هست.
از نسخه 5.0.0 استفاده ميکنم، هنوز پچ 5.0.1 رو دانلود نکردم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.