QT 编译(程序发布),提示缺少某些插件的解决方案

我做了一个链接mysql数据库的小程序,用到mysql驱动(我自己编译的,qt因为版权问题不自带),开发机上程序好用,换了别的机器就不行了,说缺少驱动,其实是因为我是动态编译的程序,所以需要把插件(都是DLL文件)放到程序目录下,程序才能找到,但是怎么放也是有说法的,这篇文章就告诉你动态编译qt程序应该怎么加载这些插件

main函数里面写上这句

‍a.addLibraryPath(a.applicationDirPath()+"/plugins/"); //a 是程序的指针

这句用来网程序的运行环境添加一个路径,plugins的文件夹路径就是所添加的内容

你可以通过Librarypath()函数验证自己添加的路径是否正确

在程序的根目录下建立一个pluagins文件夹,在这个文件夹中建立一个插件所属的文件夹,把你用到的插件的dll放在里面

比如你像我一样用的是数据库方面的,那么你就应该在plugins文件夹里面放上一个‍sqldrivers文件夹,再往这个文件夹里面放上你用的插件dll,这样程序才能找得到,如果你需要用中文化的插件‍qcncodecs4.dll,那么你应该在plugins文件夹下面建立一个‍codecs文件夹,把‍qcncodecs4.dll和‍qcncodecsd4.dll放在里面

总之,要保证plugins文件夹下面的结构和你的qt安装文件夹下的plugins文件夹里的结构一致才行

这样你再次编译的程序就可以找到自己用到的插件了,希望你用到的插件不是很多.....

个人认为qt的程序最终还是静态编译的好,这样少带很多DLL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值