開源 C++ QT Widget 開發(十六)程序發布

???文章的目的為了記錄使用C++?進行QT Widget 開發學習的經歷。臨時學習,完成app的開發。開發流程和要點有些記憶模糊,趕緊記錄,防止忘記。
?

?相關鏈接:

開源 C++ QT Widget 開發(一)工程文件結構-CSDN博客

開源 C++ QT Widget 開發(二)基本控件應用-CSDN博客

開源 C++ QT Widget 開發(三)圖表--波形顯示器-CSDN博客

開源 C++ QT Widget 開發(四)文件--二進制文件查看編輯-CSDN博客

?開源 C++ QT Widget 開發(五)通訊--串口調試-CSDN博客

開源 C++ QT Widget 開發(六)通訊--TCP調試-CSDN博客

開源 C++ QT Widget 開發(七)線程--多線程及通訊-CSDN博客

開源 C++ QT Widget 開發(八)網絡--Http文件下載-CSDN博客

開源 C++ QT Widget 開發(九)圖表--儀表盤-CSDN博客

開源 C++ QT Widget 開發(十)IPC進程間通信--共享內存-CSDN博客

開源 C++ QT Widget 開發(十一)進程間通信--Windows 窗口通信-CSDN博客

開源 C++ QT Widget 開發(十二)圖表--環境監測表盤-CSDN博客

開源 C++ QT Widget 開發(十三)IPC通訊--本地套接字 (Local Socket)

開源 C++ QT Widget 開發(十四)多媒體--錄音機

開源 C++ QT Widget 開發(十五)多媒體--音頻播放



推薦鏈接:

開源 java android app 開發(一)開發環境的搭建-CSDN博客

開源 java android app 開發(二)工程文件結構-CSDN博客

開源 java android app 開發(三)GUI界面布局和常用組件-CSDN博客

開源 java android app 開發(四)GUI界面重要組件-CSDN博客

開源 java android app 開發(五)文件和數據庫存儲-CSDN博客

開源 java android app 開發(六)多媒體使用-CSDN博客

開源 java android app 開發(七)通訊之Tcp和Http-CSDN博客

開源 java android app 開發(八)通訊之Mqtt和Ble-CSDN博客

開源 java android app 開發(九)后臺之線程和服務-CSDN博客

開源 java android app 開發(十)廣播機制-CSDN博客

開源 java android app 開發(十一)調試、發布-CSDN博客

開源 java android app 開發(十二)封庫.aar-CSDN博客

推薦鏈接:

開源C# .net mvc 開發(一)WEB搭建_c#部署web程序-CSDN博客

開源 C# .net mvc 開發(二)網站快速搭建_c#網站開發-CSDN博客

開源 C# .net mvc 開發(三)WEB內外網訪問(VS發布、IIS配置網站、花生殼外網穿刺訪問)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

開源 C# .net mvc 開發(四)工程結構、頁面提交以及顯示_c#工程結構-CSDN博客

開源 C# .net mvc 開發(五)常用代碼快速開發_c# mvc開發-CSDN博客

內容:對QT程序的打包分發。

目錄:

1.制作圖標

2.打包流程

3.操作流程

一、制作圖標

1.圖片轉換圖標

ico轉換網址:https://convertio.co/zh/

2.添加圖標到QT

放到工程文件夾下

3.pro文件添加語句

RC_ICONS =myapp.ico

4.圖標效果

二、打包流程

Qt Widgets 應用程序打包發布流程總覽

步驟操作說明關鍵點與注意事項
1. 編譯Release版本在Qt Creator中,將構建模式切換為?Release,然后點擊構建項目。??必須使用Release模式
? 確保程序編譯成功且運行正常
??不要使用Debug版本(體積大、速度慢、依賴復雜)
2. 準備發布目錄在任意位置創建一個全新的空文件夾,將步驟1生成的可執行文件(.exe)復制進去。? 使用英文路徑,避免意外錯誤
? 文件夾名稱最好能體現程序名和版本號
3. 使用部署工具從開始菜單打開與你的編譯環境匹配的Qt命令行(如Qt 5.15.2 MSVC2019 64-bit),導航到發布目錄,執行命令:
windeployqt your_app_name.exe
🔴?核心步驟
??必須使用與編譯環境完全一致的Qt命令行(如MinGW或MSVC)
? 工具會自動將所需的所有Qt DLL庫、插件、翻譯文件等復制到當前目錄
4. 補充資源文件將程序運行所需的自有資源(如圖片、圖標、配置文件、數據庫文件等)手動復制到發布目錄中。windeployqt?只負責Qt的依賴
? 需手動添加項目自身的資源文件
? 保持與開發時相同的目錄結構
5. 最終測試在一臺沒有安裝Qt和編譯器的純凈Windows電腦上,運行發布目錄中的可執行文件,進行完整的功能測試。🔴?至關重要的一步
? 確保所有功能正常
? 如果報錯(如缺少xxx.dll),說明打包不完整,需返回檢查
6. 打包分發將整個發布目錄壓縮成ZIP或RAR包直接分發,或使用安裝包制作工具(如Inno SetupNSIS)制作專業的安裝程序。? 壓縮包:簡單快捷
? 安裝程序:用戶體驗更專業,可以創建開始菜單快捷方式、寫入注冊表等

三、操作流程

1.生成Release版的可執行程序

2.查看編譯器

3.選取和編譯器匹配的MinGW

需要匹配編譯器,所以要選64位

4.將release的exe拷貝到D:\myapp文件夾,啟動Qt 5.12.9 (MinGW 7.3.0 64-bit),切換到該目錄。

5.輸入windeployqt命令,自動打包所需的庫。

6.exe可以直接打開了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/96815.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/96815.shtml
英文地址,請注明出處:http://en.pswp.cn/web/96815.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MATLAB2-結構化編程和自定義函數-臺大郭彥甫視頻

目錄 if elseif else switch case otherwise while exercise練習 for 預宣告 練習題 break tips編程的小技巧 functions函數 練習題 函數句柄 if elseif else 如果condition為真,執行語句 if condition1statement1 elseif condition2statement2 elsest…

LVGL移植2048小游戲全攻略

目錄 準備腳手架 修改源碼 對接觸摸 測試編譯 測試運行 這一節將以一個已經編寫好的 lvgl 小游戲 2048 描述如何將已經編寫完成的 lvgl 程序移植到開發板上。 準備腳手架 在這之前,我們先準備基礎的 LVGL 腳手架。可以直接從 lv_g2d_test 里復制過來進行修改…

在Unity2021中使用Profiler的Deep Profile功能時內存超高怎么辦?

這通常是因為Deep Profile會記錄每一幀所有函數調用的詳細信息,導致內存急劇增長,尤其在大型項目或復雜場景中4。別擔心,我來幫你分析原因并提供一些解決辦法。 理解 Deep Profile 的內存開銷與替代方案 Deep Profile是Unity Profiler的一個…

Ubuntu 設置中文輸入法

一、使用 IBus(Ubuntu 默認框架)步驟 1:安裝中文輸入法sudo apt install ibus-libpinyin ibus-pinyin步驟 2:添加輸入法打開 Settings > Keyboard > Input Sources。點擊 “”,搜索 Chinese (Intelligent Pinyin…

【Zephyr電源與功耗專題】14_BMS電池管理算法(三重驗證機制實現高精度電量估算)

文章目錄前言一、算法系統框架設計介紹1.1:核心設計方式1.2:系統架構圖1.3:核心參數配置二、核心算法詳解2.1:硬件數據采集與濾波2.2:三重算法機制2.2.1:庫侖計法(電流積分)2.2.2&am…

Python網絡與多任務編程:TCP/UDP實戰指南

Python網絡與多任務編程:TCP/UDP實戰指南 一、網絡編程 1.1 前言 網絡編程是現代軟件開發中不可或缺的一部分,它使得不同設備之間的數據交換成為可能。Python提供了強大的標準庫來支持各種網絡編程需求。 1.1.1 IP地址簡介 IP地址是互聯網上設備的唯一標…

Android8 binder源碼學習分析筆記(四)——ServiceManager啟動

前文回顧: Android8 binder源碼學習分析筆記(三): https://blog.csdn.net/g_i_a_o_giao/article/details/151365630?spm1001.2014.3001.5502 Android8 binder源碼學習分析筆記(二): https://…

Redis 大 Key 與熱 Key:生產環境的風險與解決方案

🔥 Redis 大 Key 與熱 Key:生產環境的風險與解決方案 文章目錄🔥 Redis 大 Key 與熱 Key:生產環境的風險與解決方案🧠 一、問題定義與識別💡 什么是大 Key?🔥 什么是熱 Key&#xff…

C++算法題中的輸入輸出形式(I/O)

本文主要幫助刷leetcode題型快速適應完整帶輸入輸出的題(機試、考試、比賽等)接收能用cin就用cin 。cin 自動分割單詞 的特性(cin 讀取字符串時會自動跳過空格 / 換行,將連續非空格字符作為一個 “單詞”)一、單組輸入…

【左程云算法09】棧的入門題目-最小棧

目錄 棧的入門題目-最小棧 代碼演示 視頻鏈接 算法講解015【入門】棧的入門題目-最小棧 Leecode155 棧的入門題目-最小棧 實現一個getmin方法(高效方法,即不用遍歷),希望能實現O(1) 做法&#xff1a…

Grafana與Prometheus實戰

🌟Grafana的Dashboard的權限管理 創建團隊 創建用戶 設置團隊權限 🌟Prometheus啟用https及認證功能 自建ca的證書 準備證書目錄 mkdir /app/tools/prometheus-2.53.4.linux-amd64/certs cd /app/tools/prometheus-2.53.4.linux-amd64/certs生成ca的…

FPGA交通燈設計報告(源碼+管腳約束+實物圖+設計報告)

基于FPGA的交通燈設計 摘要 本設計采用FPGA技術實現了一個智能交通燈控制系統。系統以Verilog HDL為設計語言,在FPGA平臺上實現了交通燈的自動控制、數碼管倒計時顯示、緊急情況處理等功能。通過合理的狀態機設計和模塊化編程,系統具有良好的實時性、可靠性和可擴展性,能夠…

技術論文分析分析論文《計算機病毒判定專家系統原理與設計》思考其在游戲中的應用

論文原文的引言主要有兩大部分的內容:介紹計算機病毒,明確本文使用的病毒分類方式;分析傳統計算機病毒檢測存在的弊端。對于計算機病毒的定義,文中給出的定義比較嚴謹,我自己查了一下現在百度百科的定義,兩…

《Unity項目實戰:動態加載引發的顯存危機全鏈路排查與重構實踐》

從動態光影那流光溢彩、仿佛賦予虛擬世界真實質感的絢麗效果—這得益于Unity引擎強大的HDRP管線對光照路徑的精準模擬,到物理引擎驅動的物體碰撞精準到毫厘的物理反饋—依托Unity Physics模塊對剛體動力學的毫秒級計算,再到能夠依據不同設備性能自動適配的畫質表現—通過Unit…

智慧水庫綜合管理系統平臺御控物聯網解決方案

一、行業背景與痛點分析水庫作為防洪、灌溉、供水、發電及生態保護的核心基礎設施,其管理效率直接關系到區域水資源安全與可持續發展。然而,傳統水庫管理模式存在四大核心痛點:數據孤島嚴重:水位、雨量、水質、設備狀態等數據分散…

使用nvm安裝Node.js18以下報錯解決方案——The system cannot find the file specified.

使用 nvm 安裝 Node.js 18以下 報錯解決方案 在前端開發過程中,常常需要針對不同項目切換 Node.js 版本。nvm(Node Version Manager)是最常用的工具。但最近在嘗試安裝 Node.js 14 版本時,遇到了奇怪的錯誤。 問題描述 使用 nv…

在Excel和WPS表格中快速復制上一行內容

有的時候我們在Excel和WPS表格中想復制上一行對應單元格、連續區域或整行的內容,只需要在當前行拖動鼠標左鍵選中相關區域,然后按CtrlD鍵即可將上一行對應位置的內容復制過來——需要注意的是,如果當前行有數據,這些數據會直接被覆…

408學習之c語言(遞歸與函數)

今天主要學習了遞歸與函數的相關內容,下面將我今天所學知識與所寫代碼分享給大家 遞歸核心要點 遞歸三要素 基準條件(明確終止條件) 遞歸調用(逐步分解問題) 收斂性(確保每次遞歸都向基準條件靠近&#xff…

swVBA自學筆記016、Solidworks API Help 幫助文檔的(三大版塊)

目錄1. Namespace (命名空間) 版塊2. Interface (接口) 版塊3. Members (接口成員) 版塊4、總結關系5、如果你感覺上面說的過于簡單,請往下看!6、示例鏈接→SOLIDWORKS API Help 20197、需要注意的是,帶“I”的對象表示:接口1. Namespace (命…

通俗易懂地講解JAVA的BIO、NIO、AIO

理解Java的I/O模型(BIO、NIO、AIO)對于構建高性能網絡應用至關重要 🧠 通俗理解:快遞站的故事 想象一個快遞站: ? BIO:就像快遞站為每一個包裹都安排一位專員。專員從接到包裹到處理完(簽收、…