#include <QtCore/QCoreApplication>
#include "QtSql/qsql.h"
#include "QtSql/QSqlDatabase"
bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setDatabaseName("testabc");
db.setUserName("root");
db.setPassword("sha0405gua1202");
bool test;
test=db.open();
if (!test) {
// QMessageBox::critical(0, QObject::tr("Database Error"),
// db.lastError().text());
return false;
}
return true;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
if (!createConnection())
return 1;
return a.exec();
}
这是Qt教程中的源码,我按照这个源码建立了一个新的工程,按照网上说的配置了Mysql和vs2008以及QT4.6了,我也设置了QTDIR的环境变量,原本提示说找不到mysql.h变量,后来我又在环境变量中加了MYSQLDIR D:\soft\mysql。然后在工程中设置了工程属性附加包含目录 $(MYSQLDIR)\include;这时候编译不提示找不到mysql.h了,结果提示
1>------ 已启动生成: 项目: testDatabase, 配置: Debug Win32 ------
1>正在链接...
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QSqlDatabase::~QSqlDatabase(void)" (__imp_??1QSqlDatabase@@QAE@XZ),该符号在函数 "bool __cdecl createConnection(void)" (?createConnection@@YA_NXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QSqlDatabase::open(void)" (__imp_?open@QSqlDatabase@@QAE_NXZ),该符号在函数 "bool __cdecl createConnection(void)" (?createConnection@@YA_NXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QSqlDatabase::setPassword(class QString const &)" (__imp_?setPassword@QSqlDatabase@@QAEXABVQString@@@Z),该符号在函数 "bool __cdecl createConnection(void)" (?createConnection@@YA_NXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QSqlDatabase::setUserName(class QString const &)" (__imp_?setUserName@QSqlDatabase@@QAEXABVQString@@@Z),该符号在函数 "bool __cdecl createConnection(void)" (?createConnection@@YA_NXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QSqlDatabase::setDatabaseName(class QString const &)" (__imp_?setDatabaseName@QSqlDatabase@@QAEXABVQString@@@Z),该符号在函数 "bool __cdecl createConnection(void)" (?createConnection@@YA_NXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QSqlDatabase::setHostName(class QString const &)" (__imp_?setHostName@QSqlDatabase@@QAEXABVQString@@@Z),该符号在函数 "bool __cdecl createConnection(void)" (?createConnection@@YA_NXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class QSqlDatabase __cdecl QSqlDatabase::addDatabase(class QString const &,class QString const &)" (__imp_?addDatabase@QSqlDatabase@@SA?AV1@ABVQString@@0@Z),该符号在函数 "bool __cdecl createConnection(void)" (?createConnection@@YA_NXZ) 中被引用
1>main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static char * QSqlDatabase::defaultConnection" (__imp_?defaultConnection@QSqlDatabase@@2PADA)
1>d:\Projects\testDatabase\testDatabase\Debug\testDatabase.exe : fatal error LNK1120: 8 个无法解析的外部命令
1>生成日志保存在“file://d:\Projects\testDatabase\testDatabase\testDatabase\Debug\BuildLog.htm”
1>testDatabase - 9 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
请高手赐予答案啊...