iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt5.9程序打包发布的实现
  • 478
分享到

Qt5.9程序打包发布的实现

2024-04-02 19:04:59 478人浏览 八月长安
摘要

目录编译工程运行windeployQt添加必要的库遇到的一个问题(windows平台)Qt编译的程序如何在其他没有安装Qt的电脑上运行呢,本文将告诉你答案 编译工程 这里拿官方的一个

windows平台)Qt编译的程序如何在其他没有安装Qt的电脑上运行呢,本文将告诉你答案

编译工程

这里拿官方的一个例程作为目标工程,选择 Release 的方式编译工程,

编译完成后,程序自动运行(如下图),找到可执行文件的位置(可在项目构建目录中查找),

将可执行文件单独复制出来,放在一个空文件夹中,

此时该文件是无法运行的,如果这是一个C或c++程序,是可以直接运行的,除非你没有把Qt关键的库加到环境变量(如果要在其他没装Qt的机器上运行C/C++程序,则需要把那几个库一起打包,后面介绍)

运行windeployqt

windeployqt 是Qt自带的一个命令工具,位于Qt的编译器的bin目录下,比如我路径为:Qt5.9.0\5.9\mingw53_32\bin

这是一个命令工具,不能直接运行,需要先打开控制台(输入Win+R,接着输入cmd后回车),复制可执行文件所在路径名,在控制台输入cd /d + 可执行文件路径名(右键可粘贴),进入打包目录,

接着将 windeployqt.exe 的绝对路径复制到控制台,后面加上要打包的可执行文件,

回车运行,该工具会把可执行文件所有的依赖库(除了几个Qt核心库)都拷贝到可执行文件所在目录下,

此时打包文件夹出现了很多库文件和若干文件夹(里面也是库),

此时再次运行打包文件下的可执行文件,如果出现以下错误,极有可能是Qt核心库没有被添加到环境变量(当然,把所需要的库直接拷贝到打包文件夹下也是可行的,且这是打包的最后一步,详见下文),

添加完环境变量后,Qt程序已经可以成功运行:

添加必要的库

上面的可执行文件之所以可以直接运行,归功于 windeployqt.ext 生成的依赖库和全局变量中的部分库,但是打包文件夹中只有 wineployqt.exe 生成的库,所以要想让可执行文件能在其他没有安装Qt的电脑运行,我们还需要拷贝几个基本的库。

这些库在 Qt5.9.0\Tools\mingw530_32\bin 目录下(这里只是我电脑上的目录,仅供参考),一般情况下只需要拷贝下面3个库(保险起见,也可以把该目录下所有.dll文件都拷贝走)。

此时,即使去掉环境变量里的Qt相关库,打包好的文件依然可以运行(在其他电脑亦可运行,前提是系统相同)。

遇到的一个问题

之前我按照上面的方法打包一个在Qt上编译的可执行文件,但是出现 xxx.exe does not seem to be a Qt executable. 的报错,说这不是一个Qt可执行文件,我到网上找了很久都没找到解决办法,最后发现 windeployqt.exe 不能用在 C/C++ 的可执行文件上,或者说 C/C++ 可执行文件只需要上面3个基本库就能在其他机器上运行,根本用不到其他的Qt库。

 到此这篇关于Qt5.9程序打包发布的实现的文章就介绍到这了,更多相关Qt5.9 打包发布内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Qt5.9程序打包发布的实现

本文链接: https://www.lsjlt.com/news/149225.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt5.9程序打包发布的实现
    目录编译工程运行windeployqt添加必要的库遇到的一个问题(Windows平台)Qt编译的程序如何在其他没有安装Qt的电脑上运行呢,本文将告诉你答案 编译工程 这里拿官方的一个...
    99+
    2022-11-13
  • Qt5.9程序如何打包发布
    这篇文章主要介绍了Qt5.9程序如何打包发布的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Qt5.9程序如何打包发布文章都会有所收获,下面我们一起来看看吧。编译工程这里拿官方的一个例程作为目标工程,选择 Rel...
    99+
    2023-06-30
  • vue怎么打包发布程序
    Vue是一款流行的JavaScript框架,用于快速构建交互式Web应用程序。Vue的一个重要特性就是其灵活的打包和发布机制,让开发者可以轻松地将其应用程序打包成可部署的文件,并发布到生产环境中使用。本文将介绍Vue打包发布程序的步骤,帮助...
    99+
    2023-05-23
  • Qt使用windeployqt工具实现程序打包发布方法
    目录1. Qt Widgets Application 2.Qt Quick ApplicationQt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 ...
    99+
    2022-11-12
  • Qt如何使用windeployqt工具实现程序打包发布
    这篇文章主要介绍了Qt如何使用windeployqt工具实现程序打包发布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Qt 官方开发环境使用的动态链接库方式,在发布生成的ex...
    99+
    2023-06-25
  • python程序的打包分发怎么实现
    这篇文章主要讲解了“python程序的打包分发怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python程序的打包分发怎么实现”吧!引言python编程时,一部分人习惯将实现同一个功...
    99+
    2023-07-02
  • SpringBoot应用的打包和发布实现
    目录1. 创建项目(example-fast)2. 编译打包3. 应用发布1. 创建项目(example-fast) 基于 Spring Boot 创建一个 WEB 项目 examp...
    99+
    2023-05-14
    SpringBoot应用打包 SpringBoot应用发布
  • SpringBoot应用的打包和发布怎么实现
    本篇内容介绍了“SpringBoot应用的打包和发布怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 创建项目(example-f...
    99+
    2023-07-05
  • SpringBoot程序的打包与运行的实现
    目录程序打包程序运行SpringBoot程序打包失败处理命令行启动常见问题及解决方案SpringBoot项目快速启动(Linux版)刚开始做开发学习的小伙伴可能在有一个知识上面有错误...
    99+
    2022-11-13
  • 使用jenkins一键打包发布vue项目的实现
    目录jenkins的安装安装更换端口号(默认运行在8080端口)基础配置发布vue项目安装插件-nodejs配置nodejs插件创建任务jenkins的安装 Jenkins是一款开源...
    99+
    2022-11-12
  • uniapp打包Android的apk(原生APP-云打包)及发布测试全过程
    目录前言:一、 打包 Android ,生成apk1. 原生APP-云打包 与 原生APP本地打包2. 启动uniapp,配置打包证书3.开始云打包二、上传apk,下载测试1. 点击...
    99+
    2023-02-18
    uniapp打包安卓app uniapp本地打包成apk uniapp android
  • 用 Python 实现批量打包程序的工具~
    最近看了一些大佬发的关于可视化打包工具auto-py-to-exe文章,auto-py-to-exe是基于pyinstaller,但相比于pyinstaller,它多了 GUI 界面。我自己也试了一下,感觉确实好用且方便,动动手指就能对程序...
    99+
    2023-05-14
    工具 Python 打包
  • python程序的打包分发示例详解
    目录引言python程序打包 __init__.py文件的作用构建python包生成分发包本地安装调用引言 python编程时,一部分人习惯将实现同一个功能的代码放在同一个...
    99+
    2022-11-12
  • vue组件打包并发布到npm的全过程
    目录一、创建项目二、配置相关文件1.修改文件名2.根目录下新建 vue.config.js文件3.发布到npm总结一、创建项目 vue create 项目名称二、配置相关文件 1.修...
    99+
    2023-01-13
    vue组件 vue组件打包 vue组件发布到npm
  • C#将dll打包到程序中的具体实现
    直接进入主题 先来看一个栗子,假设现在有一个第三方dll 复制代码 代码如下:namespace TestLibrary1{    public cla...
    99+
    2022-11-15
    C# dll 打包到程序
  • 利用Python实现批量打包程序的工具
    目录程序调用cmd命令os.system()os.popen()subprocess.run()程序实现GUI界面设计逻辑设计打包函数最近看了一些大佬发的关于可视化打包工具auto-...
    99+
    2022-11-11
  • python flask项目打包成docker镜像发布的过程
    1.编写python flask代码,简单写一个加法的接口,命名为sum.py import json from flask import Flask,request,render_...
    99+
    2023-03-19
    python 打包docker镜像 python flask docker镜像 python 打包 flask项目
  • Android 数据库打包随APK发布的实例代码
    其实很简单,就是把我们的数据库文件放到我们的手机里,所以不必局限在哪个地方写这个代码,在第一次创建数据库的时候可以,我觉得在软件起动页里效果更好一点,首先我们应该把事先写好的数...
    99+
    2022-06-06
    数据 apk 数据库 Android
  • 用electron打包发布集成vue2.0项目的操作过程
    手里有个老项目是基于element admin框架下的,之前写的时候没考虑到要打包成桌面端,后期需要打包成客户端,然后就开始了一些列版本操作,看着百度了都很简单,把electron ...
    99+
    2022-11-13
  • 微信小程序打包插件开发的方法
    今天小编给大家分享一下微信小程序打包插件开发的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。如果你看过文档,相信你一定知...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作