Qt5.3.1 ubuntu14.0464bit QSqlDatabase: QMYSQL driver not loaded的解决方案 real solution

在Ubuntu14.04上使用Qt5.3.1时遇到QMYSQL驱动未加载的问题。尝试通过ldd检查插件动态库、百度搜索解决方案无效。最终发现,安装Qt时选择全部组件,并将libqsqlmysql.so复制到指定目录(/opt/Qt5.3.1/5.3/gcc_64/plugins/sqldrivers/)是有效解决办法。

1.现象

在连接数据库的时候出现
./hello-pc
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

2.趟过的坑

ldd 查看plugins 下的动态库

/gcc_64/plugins/sqldrivers$ ldd libqsqlmysql.so
libmysqlclient_r.so.16 => not found

于是开始百度 发现有的说

libmysqlclient_r.so.16 复制一下 变成 libmysqlclient_r.so.18 亦或 ln -s 

然并卵

还折腾过装过不计其数的pakage

my times

3.真正有效的解决方案

在安装Qt的时候请全部选择安装

/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers$ ls
db2  ibase  mysql  oci  odbc  psql  qsqldriverbase.pri  README  sqldrivers.pro  sqlite  sqlite2  tds
pc@pc:/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers$ cd mysql/
pc@pc:/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers/mysql$ ls
m
### 解决Maven项目中依赖项和插件未解析的问题 在Maven项目中,当出现依赖项或插件未解析的问题时,通常是由以下几种原因导致的:本地仓库缺少依赖、远程仓库配置错误、版本冲突或网络问题等。以下是针对logback-classic 1.2.3、spring-beans 5.3.1、spring-context 5.3.1、spring-expression 5.3.1、spring-boot-autoconfigure 2.4.0等依赖项以及maven-clean-plugin 3.1.0、maven-resources-plugin 3.2.0、maven-jar-plugin 3.2.0等插件未解析问题的解决方案[^1]。 #### 1. 检查依赖项的版本是否正确 确保`pom.xml`文件中定义的依赖项版本号是正确的,并且与官方文档或Maven中央仓库中的版本一致。例如,logback-classic的版本为1.2.3时,应确保其`groupId`和`artifactId`也匹配官方定义[^2]: ```xml <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> ``` #### 2. 配置正确的远程仓库 如果某些依赖项无法从默认的Maven中央仓库下载,可能需要配置额外的远程仓库。例如,Spring相关依赖通常可以从Spring官方仓库获取: ```xml <repositories> <repository> <id>spring-releases</id> <url>https://repo.spring.io/release</url> </repository> </repositories> ``` 此外,确保`settings.xml`文件中没有禁用远程仓库访问[^3]。 #### 3. 清理并重新构建项目 使用以下命令清理本地仓库缓存并重新下载依赖项: ```bash mvn clean install -U ``` 参数`-U`强制更新快照版本的依赖项,确保最新版本被下载[^4]。 #### 4. 检查插件声明是否完整 对于插件未解析的问题,需确保`pom.xml`中插件声明完整且版本号正确。例如,maven-clean-plugin的声明如下: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> </plugins> </build> ``` 若插件版本不明确,可能会导致解析失败。 #### 5. 确保环境变量配置正确 检查Maven安装路径是否正确,环境变量`MAVEN_HOME`和`PATH`是否已正确设置。例如,在Linux系统中,可通过以下命令验证: ```bash mvn -v ``` 输出结果应显示Maven版本、Java版本及其安装路径[^5]。 #### 6. 检查网络连接 如果依赖项或插件来自外部仓库,网络问题可能导致下载失败。可以尝试更换网络或配置代理以解决此问题。 --- ### 示例代码:清理并重新构建项目 以下是一个完整的命令示例,用于清理项目并重新下载所有依赖项: ```bash mvn clean install -U ``` --- ###
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值