欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt5.9程序打包發(fā)布的實(shí)現(xiàn)

 更新時(shí)間:2022年05月19日 14:58:56   作者:小輝_Super  
本文主要介紹了Qt5.9程序打包發(fā)布的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

(Windows平臺)Qt編譯的程序如何在其他沒有安裝Qt的電腦上運(yùn)行呢,本文將告訴你答案

編譯工程

這里拿官方的一個(gè)例程作為目標(biāo)工程,選擇 Release 的方式編譯工程,

編譯完成后,程序自動(dòng)運(yùn)行(如下圖),找到可執(zhí)行文件的位置(可在項(xiàng)目構(gòu)建目錄中查找),

將可執(zhí)行文件單獨(dú)復(fù)制出來,放在一個(gè)空文件夾中,

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

運(yùn)行windeployqt

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

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

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

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

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

此時(shí)再次運(yùn)行打包文件下的可執(zhí)行文件,如果出現(xiàn)以下錯(cuò)誤,極有可能是Qt核心庫沒有被添加到環(huán)境變量(當(dāng)然,把所需要的庫直接拷貝到打包文件夾下也是可行的,且這是打包的最后一步,詳見下文),

添加完環(huán)境變量后,Qt程序已經(jīng)可以成功運(yùn)行:

添加必要的庫

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

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

此時(shí),即使去掉環(huán)境變量里的Qt相關(guān)庫,打包好的文件依然可以運(yùn)行(在其他電腦亦可運(yùn)行,前提是系統(tǒng)相同)。

遇到的一個(gè)問題

之前我按照上面的方法打包一個(gè)在Qt上編譯的可執(zhí)行文件,但是出現(xiàn) xxx.exe does not seem to be a Qt executable. 的報(bào)錯(cuò),說這不是一個(gè)Qt可執(zhí)行文件,我到網(wǎng)上找了很久都沒找到解決辦法,最后發(fā)現(xiàn) windeployqt.exe 不能用在 C/C++ 的可執(zhí)行文件上,或者說 C/C++ 可執(zhí)行文件只需要上面3個(gè)基本庫就能在其他機(jī)器上運(yùn)行,根本用不到其他的Qt庫。

 到此這篇關(guān)于Qt5.9程序打包發(fā)布的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Qt5.9 打包發(fā)布內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • VScode+cuda編程常見環(huán)境問題的解決

    VScode+cuda編程常見環(huán)境問題的解決

    本文主要介紹了VScode+cuda編程常見環(huán)境問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • OpenCV霍夫變換(Hough Transform)直線檢測詳解

    OpenCV霍夫變換(Hough Transform)直線檢測詳解

    這篇文章主要為大家詳細(xì)介紹了OpenCV霍夫變換直線檢測的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • c++ #include是怎么樣工作的?

    c++ #include是怎么樣工作的?

    大多數(shù)園友可能對“#include”比較熟悉,因?yàn)槲覀儗慍/C++程序的時(shí)候都會(huì)寫的字符串之一,但是它是具體怎么工作的?或者它的原理是什么呢?
    2013-01-01
  • C語言二維數(shù)組應(yīng)用之井字棋游戲

    C語言二維數(shù)組應(yīng)用之井字棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言二維數(shù)組應(yīng)用之井字棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 純C語言:分治快速排序源碼分享

    純C語言:分治快速排序源碼分享

    這篇文章主要介紹了分治快速排序源碼,有需要的朋友可以參考一下
    2014-01-01
  • C語言學(xué)習(xí)之鏈表的實(shí)現(xiàn)詳解

    C語言學(xué)習(xí)之鏈表的實(shí)現(xiàn)詳解

    鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。這篇文章主要介紹了C語言中鏈表的實(shí)現(xiàn),需要的可以參考一下
    2022-11-11
  • C語言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì)

    C語言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 一文詳解C++中的類型轉(zhuǎn)化

    一文詳解C++中的類型轉(zhuǎn)化

    說起類型轉(zhuǎn)化,我們在C語言之前的學(xué)習(xí)中可以了解到,類型轉(zhuǎn)換可以分為兩種情況:隱式類型轉(zhuǎn)化;顯示類型轉(zhuǎn)化。但是為什么在c++中還要繼續(xù)對類型轉(zhuǎn)化做文章呢?我們一起來看
    2023-04-04
  • 顯示內(nèi)存狀態(tài)示例分享

    顯示內(nèi)存狀態(tài)示例分享

    這篇文章主要介紹了顯示內(nèi)存狀態(tài)示例,代碼簡單,下面直接看代碼,需要的朋友可以參考下
    2014-02-02
  • C++操作MySQL大量數(shù)據(jù)插入效率低下的解決方法

    C++操作MySQL大量數(shù)據(jù)插入效率低下的解決方法

    這篇文章主要介紹了C++操作MySQL大量數(shù)據(jù)插入效率低下的解決方法,需要的朋友可以參考下
    2014-07-07

最新評論