mafulechka
mafulechka27. Januar 2020 02:52

Qt Creator-Plugins mit GitHub-Aktionen erstellen

Qt Creator ist eine plattformübergreifende, hochgradig modulare Qt C++-Anwendung.

Um das Qt Creator-Plug-in zu erstellen, benötigen Sie:

• C++-Compiler
• Qt-SDK
• Qt Creator-SDK

Nur wenige Plugin-Entwickler wissen, dass Qt Creator ein SDK veröffentlicht. Sie müssen Qt Creator nicht kompilieren, um ein Qt Creator-Plugin zu entwickeln. Außerdem ist es für die meisten C++-Entwickler nicht üblich, Zugriff auf alle drei Plattformen (Windows, Linux, macOS) zu haben.


GitHub-Aktionen

GitHub Actions ist ein von GitHub bereitgestelltes CI/CD-Framework, mit dem Sie auf alle drei Plattformen zugreifen können!

GitHub enthält auch mehrere Repositories von Qt-Creator-Plugins, daher entschieden sich die Entwickler, zu versuchen, ein Doxygen-Plugin zu erstellen.

GitHub Actions bietet derzeit folgende virtuelle Maschinen (Runner) an:

• Ubuntu 16.04 LTS
• Ubuntu 18.04 LTS
• Windows-Server 2016
• Windows-Server 2019
• macOS 10.15

Das Qt SDK ist nicht Bestandteil der auf den Runnern installierten Software. Dies ist kein Problem, da die Entwickler mit der gleichen Version von Qt bauen wollen wie Qt Creator selbst.

Sie können eine Plattform gleichzeitig oder mehrere parallel bauen (Matrix-Modus).

Hintergrund

Da GitHub virtuelle Maschinen und C++-Compiler bereitstellt, müssen Sie nur das Qt- und Qt-Creator-SDK herunterladen und dann „kompilieren“.

Um die Dateien herunterzuladen, zu extrahieren und mit dem Kompilieren zu beginnen, entschieden sich die Entwickler für die Skriptsprache, die auf allen drei installiert ist: CMake (im Skriptmodus über das Kommandozeilenargument -P).

Erstellung des Plugins

Um das Plugin einzurichten, müssen Sie nur Folgendes ausführen:

qmake doxygen.pro CONFIG+=release QTC_SOURCE="$ENV{GITHUB_WORKSPACE}/qtcreator" QTC_BUILD="$ENV{GITHUB_WORKSPACE}/qtcreator"

Das Erstellen ist so einfach wie das Ausführen von make -j<number-of-cores> oder jom

Am Ende wird es eine gemeinsam genutzte Bibliothek (.dll, .so, .dynlib) geben, die an die Benutzer verteilt wird.

GitHub-Aktionen starten

Mit git push wird das Plugin gebaut und die Artefakte werden bei jedem Build gespeichert. Es sieht aus wie das:

Wenn wir einen Commit mit git tag -a v0.4.7-qtc-4.11 -m "Release v0.4.7-qtc-4.11" markieren und dann git push origin v0.4.7-qtc-4.11 auslösen, wird ein Release ausgelöst und die Artefakte heruntergeladen zu dieser Veröffentlichung. Es sieht aus wie das:

Die neu erstellte Freigabe sieht folgendermaßen aus:

Es klappt?

GitHub Actions weist einige Plattform- und Compiler-Unterschiede auf, wenn es darum geht, wie Qt und Qt Creator aufgebaut sind:

• Visual C++ 2019 unterstützt Visual C++ 2017
• Red Hat 7.2 im Vergleich zu Ubuntu 18.04

Wie sich herausstellte, konnte Qt Creator das Plugin auf allen drei Plattformen laden!

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 14:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 18:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr9. Februar 2024 02:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 18:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 10:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 22:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 16:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 11:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken