【Linux命令】Ubuntu14.04+QT5.2配置mysql
安装qt:
- 官网下载qt5.2.1:qt-opensource-linux-x64-5.2.1.run
- 直接命令行运行:./qt-opensource-linux-x64-5.2.1.run
- 选择安装路径:(我选择的是/home/myname/Qt)默认为/home/yourPCname/Qt5.2.1
- 一步一步安装,选择组建时记得勾选“Source Components”,否则后续重新编译sql的plugin可能需要重装qt
安装mysql,编写简单测试程序:
#include <QApplication>
#include <QtSql>
#include <QDebug> int main(int argc, char *argv[])
{
QApplication a(argc, argv); QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "connA");
db.setHostName("localhost");
db.setDatabaseName("mysql");
db.setUserName("root");
db.setPassword("zymysql");
if(db.open()) {
qDebug() << "connected!" << endl;
exit(0);
} else {
qDebug() << " failed!" << endl;
exit(0);
} return a.exec();
}
编译运行,提示错误:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
1.查看sqldriver的依赖关系:
$cd ~/Qt/5.2.1/gcc_64/plugins/sqldrivers
$ldd libqsqlmysql.so
#得到以下:
linux-vdso.so.1 => (0x00007ffe607ac000)
libmysqlclient_r.so.16 => not found
libQt5Sql.so.5 => /home/sharon/Qt/5.2.1/gcc_64/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0x00007f4862374000)
libQt5Core.so.5 => /home/sharon/Qt/5.2.1/gcc_64/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0x00007f4861ca6000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f48619a2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f48615dd000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f48613bf000)
libicui18n.so.51 => /home/sharon/Qt/5.2.1/gcc_64/plugins/sqldrivers/./../../lib/libicui18n.so.51 (0x00007f4860fa6000)
libicuuc.so.51 => /home/sharon/Qt/5.2.1/gcc_64/plugins/sqldrivers/./../../lib/libicuuc.so.51 (0x00007f4860c20000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4860a1c000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f486081a000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4860612000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f486030a000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4860004000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f485fdee000)
/lib64/ld-linux-x86-64.so.2 (0x00007f48627c6000)
libicudata.so.51 => /home/sharon/Qt/5.2.1/gcc_64/plugins/sqldrivers/./../../lib/libicudata.so.51 (0x00007f485e6a5000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f485e467000)
2,查看安装的mysql的版本:
$ dpkg --get-selections | grep mysql
#得到以下:
ctions | grep mysql
libdbd-mysql-perl install
libmysqlclient-dev install
libmysqlclient18:amd64 install
mysql-client install
mysql-client-5.5 install
mysql-client-core-5.5 install
mysql-common install
mysql-server install
mysql-server-5.5 install
mysql-server-core-5.5 install
错误点在于:libmysqlclient_r.so.16 => not found,需要的是版本为16,安装的版本为18.
解决方案:为其重新编译sqldriver。
#进入到qt的源码目录下的此目录:
$cd ~/Qt/5.2.1/Src/qtbase/src/plugins/sqldrivers/mysql
#使用qmake编译:
$ ~/Qt/5.2.1/gcc_64/bin/qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
$make
$make install
#再进入到gcc目录下查看libqsqlmysql.so的依赖关系:
$cd ~/Qt/5.2.1/gcc_64/plugins/sqldrivers
$ldd libqsqlmysql.so
#依赖关系成功建立:
linux-vdso.so.1 => (0x00007fff193b2000)
libmysqlclient.so.18 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 (0x00007fc367f2a000)
libQt5Sql.so.5 => /home/sharon/Qt/5.2.1/gcc_64/lib/libQt5Sql.so.5 (0x00007fc367cea000)
libQt5Core.so.5 => /home/sharon/Qt/5.2.1/gcc_64/lib/libQt5Core.so.5 (0x00007fc36761c000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc367318000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc366f53000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc366d3a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc366b36000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc366918000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc366612000)
libicui18n.so.51 => /home/sharon/Qt/5.2.1/gcc_64/lib/libicui18n.so.51 (0x00007fc3661f9000)
libicuuc.so.51 => /home/sharon/Qt/5.2.1/gcc_64/lib/libicuuc.so.51 (0x00007fc365e73000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fc365c71000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc365a69000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fc365761000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc36554b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc368674000)
libicudata.so.51 => /home/sharon/Qt/5.2.1/gcc_64/lib/libicudata.so.51 (0x00007fc363e02000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fc363bc4000)
重新编译运行,成功!
【Linux命令】Ubuntu14.04+QT5.2配置mysql的更多相关文章
- 【转】用win7(64位)远程桌面连接linux(Ubuntu14.04)详细教程
转自:http://blog.csdn.net/qq754438390/article/details/50042511 亲测,确实是可以.非常感谢原博. 用win7(64位)远程桌面连接linux( ...
- ubuntu14.04下搭建python+mysql环境
简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...
- ubuntu14.04上Trac配置记录
系统环境:ubuntu14.04 (并假设Apache2服务可以正常运行) 1. 安装软件: sudo aptitude install trac python-mysqldb 2. 创建数据库Tra ...
- Linux系统下 解决Qt5无法连接MySQL数据库的方法
Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...
- Ubuntu14.04安装和配置Tomcat8.0.12(转)
Ubuntu14.04长的好看,所以一时间很感兴趣,研究各种软件的安装和开发环境的配置.今天先把安装的tomcat 8.0.12的教程分享给大家.如果你需要,请收藏!!! 工具/原料 系统环境:U ...
- Ubuntu14.04安装和配置Tomcat8.0.12
Ubuntu14.04长的好看,所以一时间很感兴趣,研究各种软件的安装和开发环境的配置.今天先把安装的tomcat 8.0.12的教程分享给大家.如果你需要,请收藏!!! 官方网站下载最新的tom ...
- Ubuntu14.04环境下配置TFTP服务器
<<<<<<<<<<<<<<<<<<<<<<<<< ...
- ubuntu14.04使用rails连接mysql数据库
rails自带的sqlite3各方面都不错,但是免费版缺少一个致命功能:加密码!虽说第三方有编译好的二进制版的加密版,但咱先不折腾鸟;直接上mysql吧. ubuntu安装mysql非常简单,先不聊; ...
- Linux中数据库的安装和配置(MySQL与Maria DB)
目录 MySQL和Maria DB的介绍 MySQL和Maria DB的安装 yum源安装MySQL(Centos6.5+Mysql5.1) 源码包安装MySQL yum源安装Maria DB 源码包 ...
随机推荐
- IOS 特定于设备的开发:监测Retina支持
近年来,Apple在其旗舰设备上引入了Retina显示屏.根据Apple的说法,他的像素密度非常高,足以使人眼无法区分单独的像素. UIScreen类提供了一种容易的方式,用于监查当前设备是否提供了内 ...
- Codeforces 430B Balls Game(Two Pointers)
[题目链接] http://codeforces.com/contest/430/problem/B [题目大意] 祖玛游戏,给出一个序列,表示祖玛球的颜色序列,三个或者以上的球碰在一起就会发生消除, ...
- 【C++算法设计】八数码问题
八数码问题 [题意] 编好为1~8的8个正方形滑块摆成3行3列(一个格子为空),如图所示 每次可以移动空格相邻的滑块到空格,要计算出能移动出目标局面的最小步数,如无法达到则输出-1. [分析] 我们可 ...
- appledoc:Objective-C注释文档生成工具
appledoc是帮助Objective-C开发者从特殊格式的源代码注释中生成类似apple资源代码帮助文档的命令行工具. 安装和使用都非常简单: 安装 git clone git://github. ...
- java的访问控制(包、访问修饰符、修饰符)
一. java的类包 编写好一个源程序后,首先要执行javac命令进行编译源文件,并生成与源文件同名后缀为“.class”的字节码文件(类文件),该类文件与源文件默认在同一个目录中.该类文件是 ...
- 迷宫城堡(强联通targin)
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Java中public,private,final,static等概念的解读
作为刚入门Java的小白,对于public,private,final,static等概念总是搞不清楚,到底都代表着什么,这里做一个简单的梳理,和大家分享,若有错误请指正,谢谢~ 访问权限修饰符 pu ...
- docNet基础学完感想
开学后的一个多月因为要准备acm省赛,所以docnet视频基本没看了!不过,虽然在省赛前每天都在做题,赛前刷了80多题吧!!但是比赛的时候就3题,渣啊!只做出了3个水题,后面两个小时搞两题就是出不来, ...
- hough变换是如何检测出直线和圆的?
(I)直线篇 1 直线是如何表示的?对于平面中的一条直线,在笛卡尔坐标系中,常见的有点斜式,两点式两种表示方法.然而在hough变换中,考虑的是另外一种表示方式:使用(r,theta)来表示一条直线. ...
- 将Oracle数据库导出为txt格式
将Oracle数据库导出为txt格式: 方法1: 对于Windows系统,可以采用以下方式: 选择控制面板-->管理工具-->数据源(ODBC),添加一个新的数据源(系统或用户DSN均可) ...