如何把qt源程序做成Windows可安装文件

时间:2021-08-09 08:55:02
利用Advanced Installer-v5.0将Qt源程序的编译可执行文件变成了msi安装文件,但是安装好后运行说缺少QtCore4.dll文件,下载后放回system 32文件夹中后还是有错误!请问哪位大侠能帮忙解决下!

13 个解决方案

#1


你要把发行库一起打包进去啊。

#2


发行库?是qt/bin里的那些么?

#3


是Qt/bin里的那些dll文件么?

#4


引用 2 楼  的回复:
发行库?是qt/bin里的那些么?

去百度一下Qt程序发行,一般只要带四个库,其他的就看你用到上面模块。

#5


谢谢大侠!搞定了!我是Qt4.7,添加了QtCore4 QtCored4 QtGui4  QtGuid4这4个库就Ok了。可能是我的程序就用到了这4个库的原因吧?还是什么!反正能运行了

#6


引用 5 楼  的回复:
谢谢大侠!搞定了!我是Qt4.7,添加了QtCore4 QtCored4 QtGui4 QtGuid4这4个库就Ok了。可能是我的程序就用到了这4个库的原因吧?还是什么!反正能运行了

一般如果没用到其他模块是不需要带的,比如你如果用到数据库就要带数据库的驱动库,用jpg图片就要带jpg的那些插件库等。

#7


release 只需要QtCore4 QtGui4
引用 5 楼  的回复:
谢谢大侠!搞定了!我是Qt4.7,添加了QtCore4 QtCored4 QtGui4  QtGuid4这4个库就Ok了。可能是我的程序就用到了这4个库的原因吧?还是什么!反正能运行了

#8


该回复于2012-06-29 10:43:01被版主删除

#9


有专门dll依赖关系分析工具,可以检测程序依赖的dll,需要的dabaojin

#10


用 VC 的 depends 工具可以看出你的 Qt 程序依赖了哪些模块,不过一般不用看,直接猜就行, QtCore4 和 QtGui4 是基本的,网络是 QtNetwork,xml是QtXml等等。

如果用到图像解码和数据库还要附带上相应的驱动,比如MySql就是 qsqlmysql4.dll 还要带上 libmysql.dll,把  libmysql.dll 跟程序放到一起,qsqlmysql4.dll 放到 “程序目录\sqldrivers\qsqlmysql4.dll" 这个位置即可。

另外你打包的 QtCore 和 QtGui 这些库,最好不要放到 system32 下,而要与你的程序一起,不然可能会引起其他使用Qt的程序出错。

#11


请看我的博客:
http://blog.csdn.net/aaa20090987/article/details/7013404

#12


Release版的不需要QtCored, QtGuid等尾缀为d的库, Debug版的才要带上. 要不光是库动辄几百M吓跑所有客户

#13


Advanced Installer-v5.0
用这个东西制作安装程序 , 学习了

#1


你要把发行库一起打包进去啊。

#2


发行库?是qt/bin里的那些么?

#3


是Qt/bin里的那些dll文件么?

#4


引用 2 楼  的回复:
发行库?是qt/bin里的那些么?

去百度一下Qt程序发行,一般只要带四个库,其他的就看你用到上面模块。

#5


谢谢大侠!搞定了!我是Qt4.7,添加了QtCore4 QtCored4 QtGui4  QtGuid4这4个库就Ok了。可能是我的程序就用到了这4个库的原因吧?还是什么!反正能运行了

#6


引用 5 楼  的回复:
谢谢大侠!搞定了!我是Qt4.7,添加了QtCore4 QtCored4 QtGui4 QtGuid4这4个库就Ok了。可能是我的程序就用到了这4个库的原因吧?还是什么!反正能运行了

一般如果没用到其他模块是不需要带的,比如你如果用到数据库就要带数据库的驱动库,用jpg图片就要带jpg的那些插件库等。

#7


release 只需要QtCore4 QtGui4
引用 5 楼  的回复:
谢谢大侠!搞定了!我是Qt4.7,添加了QtCore4 QtCored4 QtGui4  QtGuid4这4个库就Ok了。可能是我的程序就用到了这4个库的原因吧?还是什么!反正能运行了

#8


该回复于2012-06-29 10:43:01被版主删除

#9


有专门dll依赖关系分析工具,可以检测程序依赖的dll,需要的dabaojin

#10


用 VC 的 depends 工具可以看出你的 Qt 程序依赖了哪些模块,不过一般不用看,直接猜就行, QtCore4 和 QtGui4 是基本的,网络是 QtNetwork,xml是QtXml等等。

如果用到图像解码和数据库还要附带上相应的驱动,比如MySql就是 qsqlmysql4.dll 还要带上 libmysql.dll,把  libmysql.dll 跟程序放到一起,qsqlmysql4.dll 放到 “程序目录\sqldrivers\qsqlmysql4.dll" 这个位置即可。

另外你打包的 QtCore 和 QtGui 这些库,最好不要放到 system32 下,而要与你的程序一起,不然可能会引起其他使用Qt的程序出错。

#11


请看我的博客:
http://blog.csdn.net/aaa20090987/article/details/7013404

#12


Release版的不需要QtCored, QtGuid等尾缀为d的库, Debug版的才要带上. 要不光是库动辄几百M吓跑所有客户

#13


Advanced Installer-v5.0
用这个东西制作安装程序 , 学习了