linux下qt程序应该怎么发布程序

linux下qt程序应该怎么发布程序,第1张

1、linux下复制qt release模式生成的可执行文件到桌面的新建目录

2、编写脚本文件ldd.sh 作用:导出可执行程序运行时所需要的库文件 点击下载。

3、执行 ./ldd.sh + 可执行程序 在当前的文件夹下生成lib文件。复制lib下的库文件 与可执行文件同级目录。

4、到Qt安装目录里 找到platform文件夹 我的目录是 /opt/Qt5.7.0/5.7/gcc_64/plugins/platforms 复制此文件夹与可执行文件同级目录。

5、复制ldd.sh到platforms文件夹内,执行 ./ldd.sh libqxcb.so 将生成的lib目录下的库文件拷贝至可执行文件同级目录。删除platforms里的lib文件。

6、执行下载到的脚本文件 ./app.sh

注:app.sh与可执行文件同名。在windows下写的脚本文件 在linux下使用是出现 /bin/bash^M: bad interpreter:没有那个文件或目录 解决办法

vim 打开脚本文件 :set ff? 显示 ff=dos 修改成 :set ff=unix :wq保存退出即可

你好,

使用Release

模式编译后,release

的目录下包含

Hello1.exe

可执行程序。如果我们需要发布这个程序,那么还需要

QT

的运行库,包括哪些呢?拿一台干净的机器一个个试,终于把这些

Qt

库给找出来,成功运行

QtCore4.dll

QtGui4.dll

mingwm10.dll

libgcc_s_dw2-1.dll

其中要特别注意的是,这些文件应该从

Qt

安装目录下的

[QT安装目录]\qt\bin

子目录中获取,因为[QT安装目录]\bin

也有同样的文件,但是无效。这里仅限

Windows

系统,其他非

Windows

系统尚未研究。不过也碰到一个小问题,

Hello1

程序中有这么一行代码:QStringgbk_msg=codec->toUnicode("你确认要退出HelloQt程序吗?

希望回答对您有帮助.

使用QT生成exe应用程序后,其中依赖很多QT中的DLL库,但是在生成exe的时候,这些DLL 并没有添加到exe目录,在很多时候,我们都自己手动去复制需要的DLL,难免不会造成少dll的情况或者在其他的电脑上用不起。今天发现在qt安装目录中发现Qt 官方开发环境里自带了一个工具:windeployqt.exe。可以自动把需要依赖的库文件都自动拷贝到exe目录中。

使用方法:

1.打开QT的命令行工具,

2:进入到你生成exe目录,你可以把生成的exe拷贝到新建的一个目录中,比如c:\text中。

使用命令:1. cd c:\text

2. windeployqt test.exe

然后你就可以看到你的目录中就有需要的dll和文件了,这时候你可以试试能否启动。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11968213.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存