Files
qt6-migration-pipeline/MIGRATION_STATUS.md
T
torstenandCopilot e75e6c2527
Qt6 Migration CI / migrate (push) Waiting to run
Fix FileManagement Build-Fehler (BUILD_RTI=OFF)
- 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
2026-08-29 21:00:21 +02:00

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.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

  1. Lts/Plugins Kernmodule - Priorisiere essentielle Plugins
  2. Lts/Services Basis - InfrastructureManagement, OperatorManagement
  3. TetraIF vervollständigen - Restlichen Code migrieren

Niedrige Priorität

  1. Lts/Tools - Adler WebSocket Simulator und andere Tools
  2. 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