在Ubuntu 15.04 64位中,我安装了Qt5.6(在线安装程序),并且在尝试将开发环境从Windows 7迁移到Linux时,遇到了以下问题:
SqlDatabase: QMYSQL driver not loaded
在此之后,我设法找到 ~/Qt/5.6/gcc_64/plugins/sqldrivers/libqsqlmysql.so
然后:
$ ldd libqsqlmysql.so
linux-vdso.so.1 => (0x00007ffffd571000)
libmysqlclient_r.so.16 => not found
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe94ef24000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fe94ecec000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fe94ead2000)
libssl.so.10 => not found
libcrypto.so.10 => not found
libQt5Sql.so.5 => /home/user/Qt/5.6/gcc_64/plugins/sqldrivers/../../lib/libQt5Sql.so.5 (0x00007fe94e88d000)
libQt5Core.so.5 => /home/user/Qt/5.6/gcc_64/plugins/sqldrivers/../../lib/libQt5Core.so.5 (0x00007fe94e17a000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe94df5c000)
libstdc++++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++++.so.6 (0x00007fe94dc4d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe94d944000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe94d72e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe94d364000)
libicui18n.so.56 => /home/user/Qt/5.6/gcc_64/plugins/sqldrivers/../../lib/libicui18n.so.56 (0x00007fe94cec9000)
libicuuc.so.56 => /home/user/Qt/5.6/gcc_64/plugins/sqldrivers/../../lib/libicuuc.so.56 (0x00007fe94cb11000)
libicudata.so.56 => /home/user/Qt/5.6/gcc_64/plugins/sqldrivers/../../lib/libicudata.so.56 (0x00007fe94b12e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe94af29000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fe94ad27000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe94ab1f000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fe94a80f000)
/lib64/ld-linux-x86-64.so.2 (0x000056024837f000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fe94a5a2000)
告诉libmysqlclient_r.so.16 => not found
。实际上,似乎我有一个更新的版本:
find / -name libmysqlclient_r*
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18.1.0
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.a
也许这就是问题所在。有人可以确认吗?我应该如何进行?
首先也是最重要的一点,就是仔细检查您是否已包含并安装了软件包(看起来您已经拥有了最后一个软件包libssl.so
,很可能您也拥有前两个软件包,但要仔细检查)。libcrypto.so``libmysqlclient_r.so
然后,您的问题是,这些共享库具有不同的SONAME,请指出它们与Qt随附的插件二进制不兼容,因此需要重新编译。
因此:
安装 开发版本 以上(找到了包libssl-dev
,mysql-client-dev
或类似)。
MaintenanceTool
从您的Qt安装中运行,并确保也选择安装Qt的 源代码 。
进去QTDIR/5.6/Src/qtbase/src/plugins/sqldrivers/mysql/
。
运行 正确的 qmake
,即来自Qt安装的那个(不是系统范围的一个或类似的)。最好的确定方法是提供完整的路径:QTDIR/5.6/gcc_64/bin/qmake
。
运行make
。希望这会起作用™; 如果它抱怨某些缺少的库,请安装它们并重新运行make
。
现在应该已经产生了一个新libqsqlmysql.so
插件。用这个新的覆盖旧的。
问题内容: 如何在Qt中加载驱动程序?我有以下产生这些结果的代码: 关于如何加载的任何建议? 问题答案: 好的,仅通过将文件夹复制到我的调试文件夹就可以了!
问题内容: 有人告诉我,加载JDBC驱动程序的首选方法是: 我知道,这对于从XML配置文件或用户输入中读取多个驱动程序之间的动态决策更好。我很好奇的是,调用此语句如何将指定的驱动程序加载到我们什至没有将生成的“ Class”对象存储在任何地方的环境中。JavaDocs条目说: 返回与具有给定字符串名称的类或接口关联的Class对象 在那种情况下,Java开发人员仅凭此语句如何设法促进驱动程序对象的
我正在尝试在windows server 2016(64位)上加载firebird数据库的pdo驱动程序。 配置是下一个: 火鸟32位成功安装。 Apache 2.4成功安装(Apachelounge二进制文件,32位)。 Apache配置设置正确(安装在C:/Apache24中) PHP 32位成功安装(在C:/PHP中),作为mod_php的模块(apache处理程序2.0)。 作为证明: p
我想配置数据源为db2在我的野蝇服务器(Wildfly.8.0.0-最终和8.1.0以及。),并运行到一些问题,这样做。 我的研究告诉我这是一个两步的过程 将驱动程序作为模块安装在%JBOSS_HOME%/modules/com/ibm/main目录中 将数据源子系统配置为在连接设置中包含此模块作为驱动程序 到目前为止,我已经在以下结构下安装了模块,module.xml如下:
问题内容: 在Windows 10 Enterpise 64位(Microsoft Edge版本:25.10586.672.0)和Microsoft WebDriver-版本10240的本地计算机上运行selenium时出现错误。我的Selenium版本为:3.6.0 当我运行代码时,打开边缘浏览器并出现错误: 问题答案: 您可能会考虑研究发行说明中提到的内容: 更新.NET绑定以不发送不正确的W
我有一个Spring应用程序,在IDE和本地mariadb中运行良好,在POM中使用mariadb 2.7.4,如下所示,但我在Ubuntu上运行它时出现了第二个错误。我已经删除了mysql连接器,但仍然存在问题。为什么会出现差异和问题? 原因:组织。springframework。豆。BeanInstationException:未能实例化[com.zaxxer.hikari.HikariDat