亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Qt5.9程序如何打包發布

發布時間:2022-05-21 17:08:45 來源:億速云 閱讀:189 作者:iii 欄目:開發技術

這篇文章主要介紹了Qt5.9程序如何打包發布的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Qt5.9程序如何打包發布文章都會有所收獲,下面我們一起來看看吧。

編譯工程

這里拿官方的一個例程作為目標工程,選擇 Release 的方式編譯工程,

Qt5.9程序如何打包發布

編譯完成后,程序自動運行(如下圖),找到可執行文件的位置(可在項目構建目錄中查找),

Qt5.9程序如何打包發布

將可執行文件單獨復制出來,放在一個空文件夾中,

Qt5.9程序如何打包發布

此時該文件是無法運行的,如果這是一個C或C++程序,是可以直接運行的,除非你沒有把Qt關鍵的庫加到環境變量(如果要在其他沒裝Qt的機器上運行C/C++程序,則需要把那幾個庫一起打包,后面介紹)

Qt5.9程序如何打包發布

運行windeployqt

windeployqt 是Qt自帶的一個命令工具,位于Qt的編譯器的bin目錄下,比如我路徑為:Qt5.9.0\5.9\mingw53_32\bin

Qt5.9程序如何打包發布

這是一個命令工具,不能直接運行,需要先打開控制臺(輸入Win+R,接著輸入cmd后回車),復制可執行文件所在路徑名,在控制臺輸入cd /d + 可執行文件路徑名(右鍵可粘貼),進入打包目錄,

Qt5.9程序如何打包發布

接著將 windeployqt.exe 的絕對路徑復制到控制臺,后面加上要打包的可執行文件,

Qt5.9程序如何打包發布

回車運行,該工具會把可執行文件所有的依賴庫(除了幾個Qt核心庫)都拷貝到可執行文件所在目錄下,

Qt5.9程序如何打包發布

此時打包文件夾出現了很多庫文件和若干文件夾(里面也是庫),

Qt5.9程序如何打包發布

此時再次運行打包文件下的可執行文件,如果出現以下錯誤,極有可能是Qt核心庫沒有被添加到環境變量(當然,把所需要的庫直接拷貝到打包文件夾下也是可行的,且這是打包的最后一步)

Qt5.9程序如何打包發布

Qt5.9程序如何打包發布

添加完環境變量后,Qt程序已經可以成功運行:

Qt5.9程序如何打包發布

添加必要的庫

上面的可執行文件之所以可以直接運行,歸功于 windeployqt.ext 生成的依賴庫和全局變量中的部分庫,但是打包文件夾中只有 wineployqt.exe 生成的庫,所以要想讓可執行文件能在其他沒有安裝Qt的電腦運行,我們還需要拷貝幾個基本的庫。

這些庫在 Qt5.9.0\Tools\mingw530_32\bin 目錄下(這里只是我電腦上的目錄,僅供參考),一般情況下只需要拷貝下面3個庫(保險起見,也可以把該目錄下所有.dll文件都拷貝走)。

Qt5.9程序如何打包發布

此時,即使去掉環境變量里的Qt相關庫,打包好的文件依然可以運行(在其他電腦亦可運行,前提是系統相同)。

Qt5.9程序如何打包發布

遇到的一個問題

之前我按照上面的方法打包一個在Qt上編譯的可執行文件,但是出現 xxx.exe does not seem to be a Qt executable. 的報錯,說這不是一個Qt可執行文件,我到網上找了很久都沒找到解決辦法,最后發現 windeployqt.exe 不能用在 C/C++ 的可執行文件上,或者說 C/C++ 可執行文件只需要上面3個基本庫就能在其他機器上運行,根本用不到其他的Qt庫。

Qt5.9程序如何打包發布

關于“Qt5.9程序如何打包發布”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Qt5.9程序如何打包發布”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

qt
AI

高邑县| 宁夏| 澄江县| 密云县| 吐鲁番市| 峨眉山市| 上虞市| 湾仔区| 招远市| 农安县| 丹巴县| 无极县| 漯河市| 离岛区| 互助| 长武县| 崇礼县| 濉溪县| 陆良县| 泾川县| 广宗县| 绥滨县| 丹东市| 清水河县| 油尖旺区| 闽侯县| 汾西县| 东城区| 乌拉特前旗| 宜昌市| 海城市| 类乌齐县| 阿坝县| 平度市| 太康县| 巴林右旗| 疏勒县| 五莲县| 刚察县| 乌海市| 宣恩县|