c++ qt6.5 打包sqlite组件无法使用,尽然 也需要dll支持!这和开发php 有什么区别!

文章讲述了如何处理Qt程序中默认查找dll文件的问题,通过修改`QApplication::addLibraryPath`和指定`QPluginLoader`加载特定dll,解决了因路径问题导致的Qt.exe打包后SQLite数据库连接失败。作者还提到php连接数据库同样依赖dll,并提供了实际操作步骤作为参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        运行 程序会默认使用当前所在文件夹中的 dll 文件,若文件不存在,会使用系统环境变量路径中的文件;又或者是需要在程序源代码中明确指定使用的 dll 的路径。由于我安装 Qt 时将相关 dll 文件路径都添加到了系统环境变量中,所以即使我在未添加 dll 文件时,软件仍然能够成功运行,但添加之后,程序使用的就是当前文件路径下的 dll 了,而可能由于缺少某些文件,导致这种奇奇怪怪的问题。于是采用一种暴力手段、

        这种方式,让我想到了php连接数据库 也是dll 的方案。 因为连接数据库的 方法 你压根没有写过,肯定 需要引入公共组件才能正常使用!

解决办法

 

QString appDirPath = qApp->applicationDirPath(); // .exe文件运行的目录


        {
			QApplication::addLibraryPath(appDirPath + QString("/plugins")); // 指定库文件位置

			QPluginLoader loader(appDirPath + QString("/plugins/sqldrivers/qsqlite.dll")); // 指定库文件名
		}

同时需要复制 

C:\Qt\6.5.3\msvc2019_64\plugins\sqldrivers\qsqlite.dll

一顿猛如虎操作,数据库访问正常了! 

参考文章

qt4 release打包程序无法连接sqlite数据库问题_sqlite_chenmeilun-腾讯云开发者社区

Qt .exe文件打包发布,SQLite数据库无法使用?拷贝了dll也不行?_qt发布的时候用了数据库怎么办-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值