您的位置:首页 > 编程语言 > Qt开发

QT学习笔记之QT与Mysql连接问题

2017-02-09 22:54 225 查看

写在前面:

唉!作为JAVA实习生开发了四个月后,果断跳到了c++开发的行列;这期间不为别的,就只为心中对c++还有的那份冲动,虽然已经有两年没有碰c++,但是看到c++还是会觉得它那么可爱,所以我果断选择了c++,至死也不后悔。

出现的错误

好了,闲话不多说,下面开始正文吧!我现在遇到的的问题是QT5.X版本与Mysql连接的问题,查找百度,自杀的心都有。为毛别人都是驱动找不到等这么简单的问题,我的问题居然没有人遇到过。(T_T)

那么我遇到的是啥问题呢?

//代码如下:库文件在.h文件中
#include "hotel.h"
#include <QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Hotel w;

QSqlDatabase::addDatabase("QMYSQL");

w.show();

return a.exec();
}


那么爆出的问题是啥捏?

main.obj:-1: error: LNK2019: 无法解析的外部符号 “_declspec(dllimport) public: __cdecl QSqlDatabase::~QSqlDatabase(void)” (__imp??1QSqlDatabase@@QEAA@XZ),该符号在函数 main 中被引用

main.obj:-1: error: LNK2019: 无法解析的外部符号 “_declspec(dllimport) public: static class QSqlDatabase __cdecl QSqlDatabase::addDatabase(class QString const &,class QString const &)” (__imp?addDatabase@QSqlDatabase@@SA?AV1@AEBVQString@@0@Z),该符号在函数 main 中被引用

main.obj:-1: error: LNK2001: 无法解析的外部符号 “_declspec(dllimport) public: static char * QSqlDatabase::defaultConnection” (__imp?defaultConnection@QSqlDatabase@@2PEADEA)

然后一脸蒙蔽,对不对?百度无数,都他么要么避而不答,要么文不对题。唉,不愧是一区的百度,后来在即将放弃的时候,搜索找到了答案。

//代码如下:
#-------------------------------------------------
#
# Project created by QtCreator 2017-02-09T21:47:21
#
#-------------------------------------------------
QT       += sql
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Hotel
TEMPLATE = app

SOURCES += main.cpp\
hotel.cpp

HEADERS  += hotel.h

FORMS    += hotel.ui


这个信息是在.pro文件中的,只需要加上这句就可以了 【QT += sql】(我他么打上括号,妈的气死我了),这是在QTCreator里面的;

在VS中开发的解决办法

是我鲁莽了,原来vs中的解决办法又是另外一套,吓得我直接跪在了地上(T_T)(亲爱的网友别打我,昨晚是我错了)

如果是在VS里面的话,需要这么做,右击你的项目,选择QT Project Setting,就像这样的



然后在新打开的页面里面点击QT modules选项卡,然后在下面的一大堆的复选框中找到SQL,勾选上就可以了。好简单的感觉,害得你爸爸我差点把我做的半成品给完废了(T_T)。



好了,到此,两种工具的问题的解决办法都在这里了,有什么问题随时候教哦!

另外libmysql.dll和.lib文件也要放到qt的 安装目录的bin文件夹下,我是提前放了的,所以不知道去掉后是什么错误,这里就不罗列了。

好了,就这样了,祝大家少加班,多拿工资吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息