1. 應(yīng)用程序發(fā)布方式
用 Qt 開發(fā)一個(gè)應(yīng)用程序后,將應(yīng)用程序提供給用戶在其他計(jì)算機(jī)上使用就是應(yīng)用程序的發(fā)布。應(yīng)用程序發(fā)布一般會(huì)提供一個(gè)安裝程序,將應(yīng)用程序的可執(zhí)行文件及需要的運(yùn)行庫(kù)安裝到用戶計(jì)算機(jī)上,即使用戶計(jì)算機(jī)上沒(méi)有安裝 Qt 也能正常運(yùn)行安裝的程序。
Qt的應(yīng)用程序發(fā)布有兩種方式:靜態(tài)鏈接和共享庫(kù)方式
。
-
靜態(tài)鏈接(Static linking)是指用 Qt 編譯應(yīng)用程序時(shí),將 Qt 的運(yùn)行庫(kù)等所需的支持文件全部靜態(tài)編譯到應(yīng)用程序里,生成一個(gè)獨(dú)立的可執(zhí)行文件,應(yīng)用程序發(fā)布只需很少的幾個(gè)文件。這種方式的缺點(diǎn)是應(yīng)用程序可執(zhí)行文件很大,缺少靈活性。例如,當(dāng)應(yīng)用程序需要更新,或 Qt 有更新時(shí),需要重新編譯應(yīng)用程序后再發(fā)布。而且,靜態(tài)鏈接方式不能部署插件。
-
共享庫(kù) (Shared Libraries) 方式是指按正常方式編譯生成應(yīng)用程序,將應(yīng)用程序運(yùn)行所需的各種共享庫(kù)與應(yīng)用程序一同發(fā)布給用戶。這樣,當(dāng)Qt 的運(yùn)行庫(kù)更新時(shí)可以單獨(dú)更新Qt 運(yùn)行庫(kù),應(yīng)用程序如果使用了插件(插件是以共享庫(kù)形式存在的),也可以單獨(dú)更新插件,這為應(yīng)用程序更新提供了方便。
如果要使用靜態(tài)鏈接發(fā)布應(yīng)用程序,還需要將 Qt 以靜態(tài)方式重新編譯生成靜態(tài)版本的 Qt,然后用靜態(tài)版本的 Qt 編譯和鏈接應(yīng)用程序,才可以生成靜態(tài)鏈接的應(yīng)用程序。這個(gè)過(guò)程顯然很花時(shí)間,也很復(fù)雜。所以,一般應(yīng)用程序發(fā)布都采用共享庫(kù)的形式。
2. Windows 平臺(tái)上的應(yīng)用程序發(fā)布
windeployqt.exe 是 Qt 自帶的 Windows 平臺(tái)發(fā)布工具,它可以自動(dòng)為一個(gè)應(yīng)用程序復(fù)制其運(yùn)行所需的各種庫(kù)文件、插件和翻譯文件,生成可發(fā)布的目錄。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-633580.html
書本中介紹了MinGW和MSVC編譯的應(yīng)用程序的發(fā)布實(shí)例,此處不做詳解,詳細(xì)也可參考:QT從入門到實(shí)戰(zhàn)x篇_32_實(shí)戰(zhàn)篇:翻金幣的第8節(jié)內(nèi)容即可。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-633580.html
到了這里,關(guān)于16-4_Qt 5.9 C++開發(fā)指南_Qt 應(yīng)用程序的發(fā)布的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!