开发框架Qt使用教程:使用GitHub Actions编译Qt Creator插件
Qt Enterprise是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。
Qt Creator是一个跨平台,高度预设的Qt / C ++应用程序。
您在编译Qt Creator插件时需要:
- C ++编译器
- Qt SDK
- Qt Creator SDK
(使用SDK)开发Qt Creator插件时就不需要编译整个Qt Creator。另外,对于大多数C ++开发者来说,要在三个平台(Windows,Linux ,macOS)上编译,测试和调试插件并不简单。
GitHub Action
GitHub Actions是GitHub提供的一个CI / CD基础功能,它可以运行在所有三个平台上!GitHub上也托管了一些Qt Creator插件的代码仓库,所以我准备尝试安装Doxygen 插件(在我采用了GitHub Actions script的fork版本上)。
GitHub Actions目前提供以下虚拟机(runners):
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Windows Server 2016
- Windows Server 2019
- macOS 10.15
Qt SDK初始没有安装到 runners上。这不是问题,因为我们希望用相同的版本的Qt和Qt Creator。
开发者可以一次在一个平台上开发,也可以同时在多个平台开发一个应用(矩阵模式)
先决条件
由于GitHub提供了虚拟机和C ++编译器,所以开发者只需要获得Qt库和Qt Creator SDK,然后就可以开始“编译”。
决定编写脚本实现自动下载,解压文件和编译,脚本文件在三个文件中:CMake(通过-P命令参数输入脚本模式)。
从下载了Qt SDK和Qt Creator二进制文件,源代码和SDK。
编译插件
为了配置插件,开发者需要运行
qmake doxygen.pro CONFIG+=release QTC_SOURCE="$ENV{GITHUB_WORKSPACE}/qtcreator" QTC_BUILD="$ENV{GITHUB_WORKSPACE}/qtcreator"
编译也很简单,运行
make -j<number of cores> 或 jom
最后,我们将拥有一个动态链接库(.dll,.so,.dynlib),逐步发布给用户。
触发GitHub Action
执行git push后,将编译插件,每次编译的工作临时文件都会被存储。这看起来像这样:
我们如果用git tag -a v0.4.7-qtc-4.11 -m "Release v0.4.7-qtc-4.11"命令标记一次提交,用然后git push originv0.4.7-qtc-4.11命令提交这将触发释放编译,中间文件将被上载到该释放这看起来像:
新创作发布如下:
它能否实际运行?
GitHub Actions在平台和编译器上与编译Qt和Qt Creator的条件有一些不同:
- Visual C ++ 2019和Visual C ++ 2017
- Red Hat7.2和Ubuntu 18.04
而实践证明Qt Creator能在三个平台上加载插件!
源代码
您需要复制一个Yaml文件到qtcreator doxygen / .github / workflows / build_qmake.yml。
原始码如下:
- Ubuntu
- GitHub
请任意复制和修改脚本,来发布自己的Qt Creator插件!
=====================================================
购买Qt Enterprise正版授权的朋友可以点击""哦~~~
扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯