• <menu id="w2i4a"></menu>
  • logo Qt使用教程2020

    文檔首頁(yè)>>Qt使用教程2020>>開發(fā)框架Qt使用教程:使用GitHub Actions編譯Qt Creator插件

    開發(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)用。

    點(diǎn)擊下載Qt Enterprise最新試用版

    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)像這樣:

    開發(fā)框架Qt使用教程:使用GitHub Actions編譯Qt Creator插件

    我們?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)及最新資訊

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();