Windows qt打包编译好的程序

在release模式下生成exe后,往外发布时需要附带运行环境(即需要的dll等)

打包流程:

1、将生成的exe拷贝到单独一个文件夹中;

2、在应用程序中找到对应的qt终端,注意此处的终端要与自己编译exe的编译器一致。使用的是32位的话则选择32位的终端。

3、打开终端后,使用cd命令切换到步骤1中所新建文件夹的路径

4、使用命令进行拷贝。

cpp 复制代码
windeployqt xxx.exe

执行完上述命令后,会将依赖的qt库及系统库拷贝到当前文件夹中;

PS:如果没找到这个快捷键,则可以直接运行cmd终端,然后在使用完整路径去运行windeployqt;如:C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin\windeployqt.exe C:\Users\xxx\Desktop\file\my.exe

5、此时可能还缺少所用到的第三方库,需要自己将项目中用到的库拷贝到此文件夹下。

若开发的程序中包含qml,则需要将qml相关的库和文件拷贝到打包文件夹中去;

cpp 复制代码
windeployqt YourApp.exe --qmldir "C:\Path\To\Your\QML\Files"
//--qmldir:指定项目中的 QML 文件目录
//工具会扫描目录中的 .qml 文件,自动确定所需 QtQuick 模块

程序运行错误解决:

错误1:Warning: qrc:/qCamera.qml:1:1: plugin cannot be loaded for module "QtQuick": The plugin './?汾/???/./APP/QtQuick.2/qtquick2plugin.dll' uses incompatible Qt library. (5.15.0) release

import QtQuick 2.15

解决方法:检查自己开发代码中的.qml文件引入的qml模块版本是否与导入qml的库版本一致。

去qt安装路径(如C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\qml)下查看里面的.qml文件导入qml模块时版本是多少,如:

cpp 复制代码
//C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\qml\QtQuick\Controls\ApplicationWindow.qml
import QtQml 2.14 as Qml
import QtQuick.Window 2.2
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.0
import QtQuick.Controls.Private 1.0

错误2:Warning: qrc:/qCamera.qml:1:1: plugin cannot be loaded for module "QtQuick": Cannot load library xxx\QtQuick.2\qtquick2plugin.dll: ???顣

import QtQuick 2.0

可能是缺少需要的dll,可在对应环境(如C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin)中拷贝库。

如我在qml文件中引入了:

cpp 复制代码
import QtQuick 2.0
import QtQuick.Window 2.0
import QtMultimedia 5.11

则复制了以下dll:

相关推荐
(Charon)10 分钟前
【C++】网络缓冲区设计(二):Ring Buffer环形缓冲区、head/tail与跨界读写
开发语言·c++
Java后端的Ai之路20 分钟前
LangChain Deep Agents 从入门到企业实战
开发语言·人工智能·python·langchain·deepagents
2601_9623815821 分钟前
Mac和Windows,哪种电脑适合新手学Python|数智码力分享
windows·python·mac·编程环境·学习入门
会飞的拖把24 分钟前
Python文件操作详解:从文件读写到os、shutil模块实战
开发语言·python
RS迷途小书童29 分钟前
Python 解析大疆无人机 SRT 字幕日志
开发语言·python·无人机
慧都小项1 小时前
从 Figma 到 Qt:Qtitan 能减少哪些界面还原工作?
前端·qt·嵌入式·figma·图形界面·工业界面·qtitan
点心的游戏开发世界1 小时前
GDScript 入门笔记(十六):文件读写与数据持久化
开发语言·笔记·游戏引擎·godot
会飞的拖把1 小时前
Python序列详解:列表、元组、字符串的通用操作(超详细版)
开发语言·windows·python
reasonsummer1 小时前
【办公类-115-01】20260906育儿知识(家园小报)批量制作(2026年9月-2027年6月)
开发语言·数据库·c#
君顾11 小时前
智慧场馆解决方案小程序系统实战:从架构设计到上线指南
java·开发语言·智慧场馆