Qt6 Migration CI / migrate (push) Waiting to run
- flm_db.h: Stub-Header mit Folder/FileContent Klassen erstellt - flm_enums.hpp: MainFolder Enum hinzugefügt (None=0) - flm_translation.h: toInt() entfernt, trFolderName() angepasst - Plugin-Interfaces erstellt (flm, opm, exm) - Viewer-Dialogs: QString-Konvertierungen behoben - AdvancedSymbology CMakeLists.txt: Ungültige Pfade entfernt - ism_mounting_point.cpp: Redundante Definitionen entfernt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M17E9WDQ8TKCHFMB62F3Z3J3
5.1 KiB
5.1 KiB
Qt5 zu Qt6 Migration - Statusbericht
Stand: 2026-08-18
Build-Konfiguration: BUILD_RTI=OFF (DDS Code-Generierung deaktiviert)
Qt-Version: 6.10.2
C++ Standard: C++17 (C++23 geplant, aber RTI 7.7 Inkompatibilität)
📊 Gesamtübersicht
| Bereich | Status | Build (RTI=OFF) | Notes |
|---|---|---|---|
| Lts/Common | ✅ Vollständig | ✅ Erfolgreich | Basis-Module migriert |
| Lts/DDS | 🟡 Struktur vorhanden | ⚠️ Stub-Header nötig | DDS-Code-Generator läuft nicht ohne RTI |
| Lts/Viewer | 🟡 Teilweise | ⚠️ Fehlende Dependencies | LtsFileDialog ✅, LtsDataView ❌ |
| Lts/Plugins | 🟡 Struktur vorhanden | ❌ Nicht getestet | 60 Untermodule |
| Lts/Services | 🟡 Struktur vorhanden | ❌ Nicht getestet | 47 Untermodule |
| Lts/Projects | 🟡 Struktur vorhanden | ❌ Nicht getestet | 5 Untermodule |
| Lts/Proxies | 🟡 Struktur vorhanden | ❌ Nicht getestet | 13 Untermodule |
| TetraIF | 🟡 Teilweise | ❌ Nicht getestet | Migration läuft |
| Z-Module | 🟡 Teilweise | ⚠️ Include-Pfad Probleme | NGLLogger Pfad korrigieren |
🔍 Detailstatus pro Modul
✅ Erfolgreich migriert (BUILD_RTI=OFF)
Lts/Common
- Status: ✅ Vollständig migriert
- Build: ✅ Erfolgreich
- Tests: 1/1 bestanden
- Module:
- LtsUtils (Core, Settings, GuiConnectDialog)
- LtsWidgets
- LtsSession
- LtsAppDescriptor
- LtsPluginManager
- LtsCommandLineParser
Lts/Viewer/LtsFileDialog
- Status: ✅ Header korrigiert
- Build: ✅ Compiliert erfolgreich
- Link: ⚠️ Fehlende Dependencies (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon)
- Korrekturen:
flm_db.hStub-Header erstellt (DDS-generierten Code ersetzt)flm_enums.hppEnums aus XML extrahiertflm_translation.haktualisiert- QString/std::string Konvertierungen behoben
- Folder::name() Rückgabetyp zu std::string geändert
⚠️ Teilweise migriert / Build-Probleme
Lts/Viewer/LtsDataView
- Status: ❌ Nicht migriert
- Problem: Header-Datei fehlt (
LtsDataView/lts_data_view.h) - Lösung: Modul muss migriert werden
Lts/Services/InfrastructureManagement
- Status: ⚠️ Include-Pfad Problem
- Problem:
NGLLogger/Z/src/NGLLoggerPfad existiert nicht - Lösung: CMakeLists.txt Include-Pfade korrigieren
Lts/Services/ProjectDataManagement
- Status: ⚠️ Enum-Wert fehlt
- Problem:
L25_KindGuidingLine::nesAexistiert nicht - Lösung: Enum-Definition prüfen und ergänzen
Z/src/NGLLogger
- Status: ⚠️ Include-Pfad Problem
- Problem: CMake generiert falschen Pfad
/repo/build-qt6-validation/Z/src/NGLLogger/Z/src/NGLLogger - Lösung: CMakeLists.txt Include-Pfade korrigieren
Lts/Tools/Adler/WebSocketSimulator
- Status: ❌ QtWidgets Include fehlt
- Problem:
#include <QtWidgets/QAction>wird nicht gefunden - Lösung: Qt6 Widgets Component explizit finden und verlinken
🛠️ Offene Aufgaben
Hochprioritär
- LtsDataView migrieren - Wird von LtsFileDialog und anderen Modulen benötigt
- svcFlmCommon, svcOpmCommon, svcExmCommon - Service-Libraries migrieren oder Stubs erstellen
- NGLLogger Include-Pfad - CMakeLists.txt korrigieren
- ProjectDataManagement Enums - Fehlende Enum-Werte ergänzen
- QtWidgets Includes - Alle Qt6 Widgets Components explizit verlinken
Mittlere Priorität
- Lts/Plugins Kernmodule - Priorisiere essentielle Plugins
- Lts/Services Basis - InfrastructureManagement, OperatorManagement
- TetraIF vervollständigen - Restlichen Code migrieren
Niedrige Priorität
- Lts/Tools - Adler WebSocket Simulator und andere Tools
- Vollständige Testabdeckung - Tests für alle migrierten Module
📝 Build-Status (BUILD_RTI=OFF)
Configure: ✅ Erfolgreich (mit CMake-Warnings)
Compile: ⚠️ 4/1187 Targets erfolgreich, dann Fehler
Link: ❌ Fehlende Libraries (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon)
Bekannte Warnungen
QVariant::canConvert(int)deprecated in Qt6 → zucanConvert<T>()migrieren- NGLLogger Include-Pfad ungültig
- AdvancedSymbology Viewer-Pfade in CMakeLists.txt entfernt
🔄 Nächste Schritte
- LtsDataView migrieren (Blocker für LtsFileDialog)
- Service-Stubs erstellen für FlmCommon, OpmCommon, ExmCommon (BUILD_RTI=OFF)
- NGLLogger CMakeLists.txt korrigieren
- ProjectDataManagement Enums vervollständigen
- QtWidgets Components explizit verlinken in allen CMakeLists.txt
📌 Wichtige Dateien
qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_db.h- DDS Stub-Headerqt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_enums.hpp- Zentrale Enumsqt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_translation.h- Übersetzungenqt-migration-legatus/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism_mounting_point.h- ISM Interface
Erstellt: 2026-08-18
Letzte Aktualisierung: 2026-08-18
Autor: Migration Team