Qt5.12.9 多平臺(tái)運(yùn)行環(huán)境部署(應(yīng)用發(fā)布)
系列文章目錄
前言
Qt 是一個(gè)1991年由Qt Company開(kāi)發(fā)的跨平臺(tái)C 圖形用戶(hù)界面應(yīng)用程序開(kāi)發(fā)框架,,可以實(shí)現(xiàn)一次編碼,,多平臺(tái)編譯部署。Qt源碼先由qmake生成Makefile文件,,然后使用make命令進(jìn)行編譯,,最后通過(guò)各個(gè)平臺(tái)的 deployqt工具進(jìn)行依賴(lài)文件拷貝,我當(dāng)前安裝的版本是Qt5.12.9,,這里來(lái)記錄學(xué)習(xí)下,,不同平臺(tái)對(duì)應(yīng)的編譯器可看下圖。 圖片來(lái)源:https://www.cnblogs.com/georgeOfChina/p/7735157.html
- Windows 平臺(tái):windeployqt(Qt安裝后自帶)
- Linux 平臺(tái):linuxdeployqt(Qt5.12.9 需自行下載)
- Mac OS 平臺(tái):macdeployqt
一,、Window平臺(tái) Qt 運(yùn)行環(huán)境部署
- 使用Qt Creator 編譯工程代碼生成 exe文件,,如果已經(jīng)有.pro工程文件,也可以用MinGW 使用命令
qmake 和 mingw32-make 來(lái)生成 exe,。 - 將編譯好的exe文件放入一個(gè)空文件夾:
QtDemo ,,然后打開(kāi)Qt5.12.9自帶的MinGW,進(jìn)入該目錄,。 - 使用Qt5.12.9自帶
windeployqt 拷貝依賴(lài)的所有庫(kù)文件,。
E:\Qt\Qt5.12.9\5.12.9\mingw73_64\bin\windeployqt Demo.exe
- 拷貝完所有依賴(lài)文件后,,就可以將該文件夾拷貝到其他沒(méi)有安裝Qt的電腦運(yùn)行了。
運(yùn)行結(jié)果如下:
二,、Linux(Ubuntu)平臺(tái) Qt 運(yùn)行環(huán)境部署
1. 下載 linuxdeployqt
在Qt5.12.9安裝目錄下,,我沒(méi)有找到該工具,所以需要手動(dòng)去下載安裝,,安裝參考https://www.cnblogs.com/linuxAndMcu/p/11016322.html
到github網(wǎng)站下載或者使用wget命令下載
wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
鏈接地址:https://github.com/probonopd/linuxdeployqt/releases
2. 安裝和查看版本
chmod x linuxdeployqt-continuous-x86_64.AppImage
mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt-x86_64
sudo mv linuxdeployqt-x86_64 /usr/local/bin
linuxdeployqt-x86_64 --version--version
3. 配置環(huán)境變量
vi ~/.bashrc
打開(kāi) ~/.bashrc 文件,,將下面的配置添加到文件末尾。
export PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin/qml:$QML2_IMPORT_PATH
使新的環(huán)境變量生效
source ~/.bashrc
4. 部署運(yùn)行環(huán)境,,發(fā)布應(yīng)用
運(yùn)行命令,,拷貝所有依賴(lài)文件
linuxdeployqt-x86_64 Demo -appimage
忽略錯(cuò)誤:
ERROR: Desktop file missing, creating a default one (you will probably want to edit it)
ERROR: Icon file missing, creating a default one (you will probably want to edit it)
執(zhí)行完后就生成了一堆的依賴(lài)文件和目錄,此時(shí),,就可以直接運(yùn)行了Demo 或 AppRun了,。
5. 生成桌面圖標(biāo)
ubuntu desktop文件使用
vi QtDemo.desktop
創(chuàng)建桌面圖標(biāo)文件,按下面格式輸入(默認(rèn)有一個(gè)default.desktop,,也可以用它進(jìn)行修改)將你想要的logo放在目錄下,。
#-- 全局安裝(所有用戶(hù)可用),將xxx.desktop 復(fù)制到/usr/share/applications
#-- 當(dāng)前用戶(hù)可用, 將xxx.desktop 復(fù)制到 ~/.local/share/applications 目錄即可
[Desktop Entry]
Version=1.0
Name=QtDemo
Comment=A demo for Qt deploy
Exec=/home/lai/linux/nfs/code/qtProject/QtDemo/Demo
Icon=/home/lai/linux/nfs/code/qtProject/QtDemo/logo.png
Terminal=false
Type=Application
Categories=Utility;Application;
創(chuàng)建完文件后,還要賦權(quán)限,,ok,,大功告成,可以直接雙擊QtDemo啟動(dòng)應(yīng)用程序了,。
chmod 755 QtDemo.desktop
總結(jié)
Qt 編程方便,,界面好看,又支持多平臺(tái)編譯,,在桌面和嵌入式領(lǐng)域已經(jīng)有相當(dāng)規(guī)模應(yīng)用了,,相信它會(huì)越來(lái)越強(qiáng)大。
|