美文网首页ROS
C++学习笔记(九) - Qt ubuntu 14.04 Qt5

C++学习笔记(九) - Qt ubuntu 14.04 Qt5

作者: Savior2016 | 来源:发表于2017-03-28 15:24 被阅读254次

Qt5.8连接MySQL数据库,会出现如下错误:

   QSqlDatabase: QMYSQL driver not loaded  
   QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7  

解决方法是对症下药,在网上找了很多教程都没有成功,下面的解决方法经过验证是可以的:

1 安装mysql

sudo apt-get install mysql-server
sudo apt-get isntall mysql-client 
sudo apt-get install libmysqlclient-dev

2 查看哪些依赖库是缺失的

其实无法启动的真正原因是依赖库确实,而不是缺少MySQL驱动。
用命令行打开如下文件夹,根据自己的情况做调整:

cd /opt/Qt5.8/5.8/gcc_64/plugins/sqldrivers 

输入:

ldd libqsqlmysql.so

会看到类似下面的内容:

qking@qkingros:/opt/Qt5.8/5.8/gcc_64/plugins/sqldrivers$ ldd libqsqlmysql.so 
    linux-vdso.so.1 =>  (0x00007ffeb19d7000)
    libQt5Sql.so.5 => /opt/Qt5.8/5.8/gcc_64/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0x00007f98b97b4000)
    libQt5Core.so.5 => /opt/Qt5.8/5.8/gcc_64/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0x00007f98b9093000)
    libmysqlclient.so.18 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 (0x00007f98b8b33000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f98b8915000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f98b86fb000)
    libssl.so.10 => not found
    libcrypto.so.10 => not found
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f98b84f6000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f98b81f2000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f98b7eec000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f98b7cd5000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f98b790d000)
    libicui18n.so.56 => /opt/Qt5.8/5.8/gcc_64/plugins/sqldrivers/./../../lib/libicui18n.so.56 (0x00007f98b7474000)
    libicuuc.so.56 => /opt/Qt5.8/5.8/gcc_64/plugins/sqldrivers/./../../lib/libicuuc.so.56 (0x00007f98b70bb000)
    libicudata.so.56 => /opt/Qt5.8/5.8/gcc_64/plugins/sqldrivers/./../../lib/libicudata.so.56 (0x00007f98b56d8000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f98b54d0000)
    libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f98b52cd000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f98b4fc5000)
    /lib64/ld-linux-x86-64.so.2 (0x0000560f0cd61000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f98b4d86000)

你会发现有几项依赖库是缺失的:

libssl.so.10 => not found
libcrypto.so.10 => not found

这就是问题所在。

3 安装缺失的依赖

针对我的错误安装,如果有其他错误可以自行百度或者参考最后的链接。还可以看一下下一篇。

sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev

然后建立连接:

cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

这样就可以了,再次执行:

ldd libqsqlmysql.so

就没有缺失的依赖了。

参考文献

seamanj

相关文章

  • C++学习笔记(九) - Qt ubuntu 14.04 Qt5

    Qt5.8连接MySQL数据库,会出现如下错误: 解决方法是对症下药,在网上找了很多教程都没有成功,下面的解决方法...

  • 负载均衡实战

    负载均衡 学习笔记 LAMP 环境搭建 (Ubuntu 14.04 LTS) 一、Ubuntu 14.04 LTS...

  • Ubuntu Qt4 Qt5 同时安装的切换

    一般情况下,ubuntu16.04可能默认qt4,但随着qt5更新,部分程序要求qt5的支持,卸载qt4再安装qt...

  • 《Qt5开发及实例》

    《Qt5开发及实例》Qt是诺基亚公司的C++可视化开发平台,目前最新版本为Qt 5。《Qt5开发及实例》以Qt 5...

  • QT-参考书

    《Qt Creator快速入门》《Qt5编程入门》 Qt进阶书籍推荐官方的《C++ GUI Qt4编程》

  • Linux 安装 qt5 开发环境

    ubuntu 安装qt5开发环境: apt-get install qt5-defaultapt-get inst...

  • Qt5.9.1 Creator 无法输入中文(fcitx,搜狗

    2017.8.1更新支持Qt5.9.1,需要重做步骤4,编译fcitx-qt5。 Ubuntu 14.04安装QT...

  • 程序打包教程

    QT5程序打包问题 问题描述:为了方便不同电脑之间QT程序的移植,简单介绍QT5打包方式打包工具:QT5自带的wi...

  • Qt5.7.0 + OpenCV2.4.9 + ffmpeg在U

    Qt5.7.0 + OpenCV2.4.9 + ffmpeg在Ubuntu 14.04LTS下的配置 分类:tag...

  • Qt5 安装

    Windows 1. 安装Qt5 点击进入Qt官网下载Qt5,这里我下载的是最新版的Qt5.11,windows平...

网友评论

    本文标题:C++学习笔记(九) - Qt ubuntu 14.04 Qt5

    本文链接:https://www.haomeiwen.com/subject/emmjottx.html