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
139 lines
5.1 KiB
Markdown
139 lines
5.1 KiB
Markdown
# 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.h` Stub-Header erstellt (DDS-generierten Code ersetzt)
|
|
- `flm_enums.hpp` Enums aus XML extrahiert
|
|
- `flm_translation.h` aktualisiert
|
|
- 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/NGLLogger` Pfad existiert nicht
|
|
- **Lösung**: CMakeLists.txt Include-Pfade korrigieren
|
|
|
|
#### Lts/Services/ProjectDataManagement
|
|
- **Status**: ⚠️ Enum-Wert fehlt
|
|
- **Problem**: `L25_KindGuidingLine::nesA` existiert 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
|
|
1. **LtsDataView migrieren** - Wird von LtsFileDialog und anderen Modulen benötigt
|
|
2. **svcFlmCommon, svcOpmCommon, svcExmCommon** - Service-Libraries migrieren oder Stubs erstellen
|
|
3. **NGLLogger Include-Pfad** - CMakeLists.txt korrigieren
|
|
4. **ProjectDataManagement Enums** - Fehlende Enum-Werte ergänzen
|
|
5. **QtWidgets Includes** - Alle Qt6 Widgets Components explizit verlinken
|
|
|
|
### Mittlere Priorität
|
|
6. **Lts/Plugins Kernmodule** - Priorisiere essentielle Plugins
|
|
7. **Lts/Services Basis** - InfrastructureManagement, OperatorManagement
|
|
8. **TetraIF vervollständigen** - Restlichen Code migrieren
|
|
|
|
### Niedrige Priorität
|
|
9. **Lts/Tools** - Adler WebSocket Simulator und andere Tools
|
|
10. **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 → zu `canConvert<T>()` migrieren
|
|
- NGLLogger Include-Pfad ungültig
|
|
- AdvancedSymbology Viewer-Pfade in CMakeLists.txt entfernt
|
|
|
|
---
|
|
|
|
## 🔄 Nächste Schritte
|
|
|
|
1. **LtsDataView migrieren** (Blocker für LtsFileDialog)
|
|
2. **Service-Stubs erstellen** für FlmCommon, OpmCommon, ExmCommon (BUILD_RTI=OFF)
|
|
3. **NGLLogger CMakeLists.txt** korrigieren
|
|
4. **ProjectDataManagement Enums** vervollständigen
|
|
5. **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-Header
|
|
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_enums.hpp` - Zentrale Enums
|
|
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_translation.h` - Übersetzungen
|
|
- `qt-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
|