Qt5.8 ubuntu下面连接mysql
来源:互联网 发布:mac版的炒股软件 编辑:程序博客网 时间:2024/06/12 00:19
ubuntu 下面配置QT mysql环境
这次配环境真的有点恶心我了,所以写博客,为了尽量不恶心别人
参考链接1
参开链接2
参考链接3
一 首先必须安装Qt镜像以及mysql
安装的时候qt选择全部,这样就包含源文件,后面出现问题可以自己编译文件,没有选择全部的话到上面地址中下载对应的源码,submoudle下面qtbase-src大概这样的文件
二 测试代码
如果代码能够直接运行最好不过了
#include <QApplication>#include <QMessageBox>#include <QDebug>#include <QtSql/QSqlDatabase>#include <QtSql/QSqlDriver>#include <QtSql/QSqlError>int main(int argc, char *argv[]){ QApplication a(argc, argv); qDebug() << QCoreApplication::libraryPaths(); qDebug() << QSqlDatabase::drivers()<<endl; /*列出qt可用的数据库*/ /* * 链接mysql数据库 */ QCoreApplication::addLibraryPath("/home/zeroxf/workspace/QT/5.8/gcc_64/plugins/sqldrivers/libqsqlmysql.so"); QSqlDatabase db(QSqlDatabase::addDatabase("QMYSQL")); db.setHostName("127.0.0.1"); db.setDatabaseName("TestDB"); db.setUserName("root"); db.setPassword("liangxianfeng"); if (!db.open()) /*测试数据库是否链接成功*/ { QMessageBox::critical(0, QObject::tr("Databse Error"), db.lastError().text()); qDebug() << db.lastError() << endl; } else { qDebug() << "Ok" << endl; } return 0;}
正确运行结果,如果正确了,那就皆大欢喜,跳过以下所有步骤
(“QSQLITE”, “QMYSQL”, “QMYSQL3”, “QPSQL”, “QPSQL7”)
Ok
失败结果
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QPSQL QPSQL7
QSqlError(“”, “Driver not loaded”, “Driver not loaded”)
三 重新编译libqsqlmysql.so
到Qt5.8.0/5.8/gcc_64/plugins/sqldrivers,(你的对应安装目录)下面,运行下面命令
ldd libqsqlmysql.so
你会发现
xx.so =>> not found
这里就是说库文件存在依赖问题,需要自己编译
cd ~/Qt5.8.0/5.8/Src/qtbase/src/plugins/sqldrivers/mysql
qmake “INCLUDEPATH+=/usr/include/” “LIBS+=-L/usr/lib/ -lmysqlclient” mysql.pro
make
cp libqsqlmysql.so ~/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers
includepath就是mysql.h的位置,以及libs是mysqlclient.so的位置,好像有的人会是mysqlclient_r,这里依照你那里命名的,自己改或者用ls -s 弄个映射
你
我遇到的问题
make 找不到mysql.h
首先sudo find / -name mysql.h,能找到的话就添加到includepath,不能的话就安装libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
make 找不到qsqlerror.h
如果还报找不到qsqlerror.h,那么可能是你在用qt4的qmake编译,这里就需要修改环境变量了,参考链接
usr/bin/ld: cannot find -lxxx
我这里缺少
libssl.so.10 => not found
libcrypto.so.10 => not found
那么这里很可能是这个库文件没有安装,或者路径设置问题,那么先去看是否安装或者find查找,参考链接
- Qt5.8 ubuntu下面连接mysql
- 第一章 Ubuntu Qt5.7.0连接MYSQL
- ubuntu下Qt5连接mysql驱动问题解决办法
- Ubuntu中Qt5.3连接MySql无法加载驱动问题解决
- qt5.0.2连接mysql
- Qt5.3连接MySQL
- QT5.3.2连接mysql
- Qt5.4连接MySql
- Qt5.4.2连接Mysql
- Qt5.7连接MYSQL
- Ubuntu下面安装mysql
- ubuntu下面连接Android手机
- Qt5.2 连接MySQL数据库
- qt5 与 mysql 的连接
- QT5.3连接mysql数据库
- qt5.5连接mysql数据库
- QT5.X连接MYSQL数据库
- Qt5 正确连接mySQL步骤
- tcp发送和接收的原理
- TINA_PRO_6中文版.rar
- IMWeb提升营Day5 | 训练题26:二叉搜索树与双向链表
- 统计文章相同单词
- POJ 1328 Radar Installation (贪心)
- Qt5.8 ubuntu下面连接mysql
- 一些常用的数据库
- android recyclerview 的单击处理
- C++的基础知识
- Opencv学习——图像滤波
- Linux和Win7双系统,重装Win7后,如何找回Linux启动项
- Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game【交互题+BFS】
- bzoj2621[Usaco2012 Mar]Cows in a Skyscraper 状压dp
- 读书,阅读,写作,游戏,思考,孙子兵法,罗马人的故事