qt版本 Using Qt version 4.4.0(qt-all-opensource-src-4.4.0),并且用vs2005静态编译成功,在vs2005下可以编译一般的qt程序。
但问题是编译连接mysql数据库的时候出现问题了。望高手指教。
代码段:
- #include <QtPlugin>
- Q_IMPORT_PLUGIN(qsqlmysql)
- int main(int argc, char *argv[])
- {
- ........
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- db.setHostName(db_hostname);
- db.setDatabaseName(db_database);
- db.setUserName(db_username);
- db.setPassword(db_password);
- if (db.open() == false)
- {
- QMessageBox::critical(NULL, QObject::tr("错误cuowu"),db.lastError().text() , QMessageBox::Ok, QMessageBox::NoButton);
- return !EXIT_SUCCESS;
- }
- ..............
- }
${QTDIR}\plugins\sqldrivers下也生成了qsqlmysql.lib。
vs2005下编译,LINK时出现如下error:
qsqlmysql.lib(qsql_mysql.obj) : error LNK2019: unresolved external symbol _mysql_character_set_name@4 referenced in function "class QTextCodec * __cdecl codec(struct st_mysql *)" (?codec@@YAPAVQTextCodec@@PAUst_mysql@@@Z)
qsqlmysql.lib(qsql_mysql.obj) : error LNK2019: unresolved external symbol _mysql_errno@4 referenced in function "class QSqlError __cdecl qMakeError(class QString const &,enum QSqlError::ErrorType,class QMYSQLDriverPrivate const *)" (?qMakeError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PBVQMYSQLDriverPrivate@@@Z)
qsqlmysql.lib(qsql_mysql.obj) : error LNK2019: unresolved external symbol _mysql_error@4 referenced in function "class QSqlError __cdecl qMakeError(class QString const &,enum QSqlError::ErrorType,class QMYSQLDriverPrivate const *)" (?qMakeError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PBVQMYSQLDriverPrivate@@@Z)
qsqlmysql.lib(qsql_mysql.obj) : error LNK2019: unresolved external symbol _mysql_stmt_errno@4 referenced in function "class QSqlError __cdecl qMakeStmtError(class QString const &,enum QSqlError::ErrorType,struct st_mysql_stmt *)" (?qMakeStmtError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PAUst_mysql_stmt@@@Z)
qsqlmysql.lib(qsql_mysql.obj) : error LNK2019: unresolved external symbol _mysql_stmt_error@4 referenced in function "class QSqlError __cdecl qMakeStmtError(class QString const &,enum QSqlError::ErrorType,struct st_mysql_stmt *)" (?qMakeStmtError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PAUst_mysql_stmt@@@Z)
qsqlmysql.lib(qsql_mysql.obj) : error LNK2019: unresolved external symbol _mysql_fetch_row@4 referenced in function "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQLResult@@MAE_NH@Z)
。。。。。
望高手指教