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

来源:互联网 发布:创可贴的网络意思 编辑:程序博客网 时间:2024/05/29 04:22

写在前面:

唉!作为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       += sqlQT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = HotelTEMPLATE = appSOURCES += main.cpp\        hotel.cppHEADERS  += hotel.hFORMS    += hotel.ui

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

在VS中开发的解决办法

是我鲁莽了,原来vs中的解决办法又是另外一套,吓得我直接跪在了地上(T_T)(亲爱的网友别打我,昨晚是我错了)
如果是在VS里面的话,需要这么做,右击你的项目,选择QT Project Setting,就像这样的

这里写图片描述

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

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

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

好了,就这样了,祝大家少加班,多拿工资吧!

2 0