開發(fā)框架Qt使用教程:使用GitHub Actions編譯Qt Creator插件
Qt Enterprise是目前最先進(jìn)、最完整的跨平臺(tái)C++開發(fā)工具。它不僅完全實(shí)現(xiàn)了一次編寫,所有平臺(tái)無(wú)差別運(yùn)行,更提供了幾乎所有開發(fā)過(guò)程中需要用到的工具。如今,Qt已被運(yùn)用于超過(guò)70個(gè)行業(yè)、數(shù)千家企業(yè),支持?jǐn)?shù)百萬(wàn)設(shè)備及應(yīng)用。
Qt Creator是一個(gè)跨平臺(tái),高度預(yù)設(shè)的Qt / C ++應(yīng)用程序。
您在編譯Qt Creator插件時(shí)需要:
- C ++編譯器
- Qt SDK
- Qt Creator SDK
(使用SDK)開發(fā)Qt Creator插件時(shí)就不需要編譯整個(gè)Qt Creator。另外,對(duì)于大多數(shù)C ++開發(fā)者來(lái)說(shuō),要在三個(gè)平臺(tái)(Windows,Linux ,macOS)上編譯,測(cè)試和調(diào)試插件并不簡(jiǎn)單。
GitHub Action
GitHub Actions是GitHub提供的一個(gè)CI / CD基礎(chǔ)功能,它可以運(yùn)行在所有三個(gè)平臺(tái)上!GitHub上也托管了一些Qt Creator插件的代碼倉(cāng)庫(kù),所以我準(zhǔn)備嘗試安裝Doxygen 插件(在我采用了GitHub Actions script的fork版本上)。
GitHub Actions目前提供以下虛擬機(jī)(runners):
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Windows Server 2016
- Windows Server 2019
- macOS 10.15
Qt SDK初始沒(méi)有安裝到 runners上。這不是問(wèn)題,因?yàn)槲覀兿M孟嗤陌姹镜腝t和Qt Creator。
開發(fā)者可以一次在一個(gè)平臺(tái)上開發(fā),也可以同時(shí)在多個(gè)平臺(tái)開發(fā)一個(gè)應(yīng)用(矩陣模式)
先決條件
由于GitHub提供了虛擬機(jī)和C ++編譯器,所以開發(fā)者只需要獲得Qt庫(kù)和Qt Creator SDK,然后就可以開始“編譯”。
決定編寫腳本實(shí)現(xiàn)自動(dòng)下載,解壓文件和編譯,腳本文件在三個(gè)文件中:CMake(通過(guò)-P命令參數(shù)輸入腳本模式)。
從download.Qt.io下載了Qt SDK和Qt Creator二進(jìn)制文件,源代碼和SDK。
編譯插件
為了配置插件,開發(fā)者需要運(yùn)行
qmake doxygen.pro CONFIG+=release QTC_SOURCE="$ENV{GITHUB_WORKSPACE}/qtcreator" QTC_BUILD="$ENV{GITHUB_WORKSPACE}/qtcreator"
編譯也很簡(jiǎn)單,運(yùn)行
make -j<number of cores> 或 jom
最后,我們將擁有一個(gè)動(dòng)態(tài)鏈接庫(kù)(.dll,.so,.dynlib),逐步發(fā)布給用戶。
觸發(fā)GitHub Action
執(zhí)行g(shù)it push后,將編譯插件,每次編譯的工作臨時(shí)文件都會(huì)被存儲(chǔ)。這看起來(lái)像這樣:
我們?nèi)绻胓it tag -a v0.4.7-qtc-4.11 -m "Release v0.4.7-qtc-4.11"命令標(biāo)記一次提交,用然后git push originv0.4.7-qtc-4.11命令提交這將觸發(fā)釋放編譯,中間文件將被上載到該釋放這看起來(lái)像:
新創(chuàng)作發(fā)布如下:
它能否實(shí)際運(yùn)行?
GitHub Actions在平臺(tái)和編譯器上與編譯Qt和Qt Creator的條件有一些不同:
- Visual C ++ 2019和Visual C ++ 2017
- Red Hat7.2和Ubuntu 18.04
而實(shí)踐證明Qt Creator能在三個(gè)平臺(tái)上加載插件!
源代碼
您需要復(fù)制一個(gè)Yaml文件到qtcreator doxygen / .github / workflows / build_qmake.yml。
原始碼如下:
請(qǐng)任意復(fù)制和修改腳本,來(lái)發(fā)布自己的Qt Creator插件!
=====================================================
購(gòu)買Qt Enterprise正版授權(quán)的朋友可以點(diǎn)擊"咨詢?cè)诰€客服"哦~~~
掃描關(guān)注慧聚IT微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊