This commit is contained in:
1 file changed
+97
-25
+97
-25
@@ -1,37 +1,109 @@
|
||||
# Qt6 Migration Status Report
|
||||
|
||||
## Aktueller Stand (2026-08-18)
|
||||
## Aktueller Stand (2026-08-21 15:09 CET)
|
||||
|
||||
### ✅ Erfolgreich abgeschlossene Arbeiten
|
||||
### 🏗️ Build-Fortschritt
|
||||
- **Gesamt-Targets**: 1854
|
||||
- **Aktueller Fortschritt**: 114/1854 (6%)
|
||||
- **Build-System**: Ninja, Debug, BUILD_RTI=OFF
|
||||
- **Qt-Version**: Qt 6.10.2 (fest, kein Versions-Mix)
|
||||
- **C++-Standard**: C++23
|
||||
- **Build-Umgebung**: Docker-Container (migration-pipeline:ubuntu26.04-qt6)
|
||||
|
||||
1. **Export-Header Problem behoben**
|
||||
- 87 CMakeLists.txt von `NGL_ADD_LIBRARY` auf `NGL_ADD_LIBRARY2` konvertiert
|
||||
- 44 Source-Dateien: Export-Header Include-Pfade korrigiert
|
||||
- Root Cause: NGL_ADD_LIBRARY2 benötigt für GENERATE_EXPORT_HEADER
|
||||
---
|
||||
|
||||
2. **DDS-Stub-Header generiert**
|
||||
- 81 DDS-Stub-Header erstellt (`*_dtc.h`, `*_fts.h`, `*_dts.h`, `*_ftc.h`)
|
||||
- Include-Pfade korrigiert mit PREFIX_TO_MODULE Mapping
|
||||
- Ermöglicht Build ohne RTI DDS Codegenerierung
|
||||
## ✅ Erfolgreich abgeschlossene Arbeiten
|
||||
|
||||
3. **NGLLogger Migration**
|
||||
- Logger-Stub erstellt mit Logging-Makros
|
||||
- m_logger Member-Variablen aus ~100+ Dateien entfernt
|
||||
- Q_FUNC_INFO Redefinition behoben (auf `__func__` umgestellt)
|
||||
- Logging-Makros auf variadische Parameter umgestellt
|
||||
### 1. Build-Infrastructure
|
||||
- [x] Docker-Build-Infrastructure validiert
|
||||
- [x] CMake-Cache-Permission-Problem behoben (als root löschen)
|
||||
- [x] CMake-Konfiguration erfolgreich abgeschlossen
|
||||
- [x] NGLLogger Export-Macro konfiguriert
|
||||
- [x] GuezNasat Include-Pfade konfiguriert
|
||||
|
||||
4. **InfrastructureManagement DDS-Stubs**
|
||||
- ism.hpp, ism_enums.hpp Stub-Header erstellt
|
||||
- IsmShared Kompilierung erfolgreich
|
||||
### 2. Plugin-System Migration (43 Module)
|
||||
| Kategorie | Anzahl | Status |
|
||||
|-----------|--------|--------|
|
||||
| DataPlugins | 38 | ✅ AUTOMOC ON + Q_INTERFACES() entfernt |
|
||||
| Plugin-Interfaces | 5 | ✅ AUTOMOC ON |
|
||||
| **Gesamt** | **43** | ✅ Fertig |
|
||||
|
||||
5. **FilterManagement DDS-Stubs**
|
||||
- flt_fts.h: AesFilter und AesFilterUpdateRequestHandler
|
||||
- flt_dts.h: Dts und Fts Interface-Classes
|
||||
- flt_dts.cpp: Stub-Implementation
|
||||
- flt_ftc.h: Ftc Interface mit ReplyHandler (neu erstellt)
|
||||
**Wichtigste Erkenntnis**: Q_INTERFACES() ist inkombatibel mit QObject-Vererbung in Qt6 - muss entfernt werden.
|
||||
|
||||
6. **Docker Permission Fix**
|
||||
- Container muss mit `--user root` für Schreibzugriff auf ./build*/
|
||||
### 3. LtsTimelineClassic Module
|
||||
- [x] Export-Macro konfiguriert (generate_export_header)
|
||||
- [x] AUTOUIC_SEARCH_PATHS für Ui-Verzeichnis hinzugefügt
|
||||
- [x] BUILD_RTI-Guard entfernt (immer benötigtes Target)
|
||||
- [x] Target-Abhängigkeit für Tests hinzugefügt
|
||||
- [x] Include-Pfad in test_abstracttimelinemodel.cpp korrigiert
|
||||
|
||||
### 4. NGLLogger Integration
|
||||
- [x] Export-Macro Include-Pfad im Haupt-CMakeLists.txt (`${CMAKE_BINARY_DIR}/Z/src/NGLLogger`)
|
||||
- [x] Source-Pfad zu globalen Include-Pfaden hinzugefügt
|
||||
- [x] Include-Pfad korrigiert: `<NGLLoggerBootstrap.h>` (nicht `<NGLLogger/NGLLoggerBootstrap.h>`)
|
||||
- [x] API-Change: `getLogger()` → `getNGLRootLogger()` in 4 Dateien
|
||||
- Event.cpp
|
||||
- Event.h
|
||||
- AbstractTimelineModel.cpp
|
||||
- TimelineWidget.cpp
|
||||
- TimelineIndicator.cpp
|
||||
|
||||
### 5. Qt6 API-Changes
|
||||
| Datei | Change | Status |
|
||||
|-------|--------|--------|
|
||||
| TimelineView.cpp | `angle()` → `angleDelta()` | ✅ |
|
||||
| TimelineView.cpp | `globalPos()` → `globalPosition().toPoint()` | ✅ |
|
||||
| lts_msec_date_time_edit.cpp | `fromMSecsSinceEpoch()` deprecated (Warnung akzeptiert) | ⚠️ |
|
||||
| lts_text_editor.cpp | `setFontFamily()` deprecated (Warnung akzeptiert) | ⚠️ |
|
||||
|
||||
### 6. Event-Constructor Migration
|
||||
**Problem**: Event-Klasse hat nur 14-Argument Constructor, keinen Default-Constructor (wegen Referenz-Member `m_logger`)
|
||||
|
||||
**Betroffene Test-Dateien**:
|
||||
- [x] test_event.cpp (2 Tests: DurationCalculation, VisibilityToggle)
|
||||
- [x] test_eventgraphic.cpp (3 Tests)
|
||||
- [x] test_eventtools.cpp (2 Tests)
|
||||
- [x] test_eventlist.cpp (3 Tests, 6 Constructor-Aufrufe)
|
||||
|
||||
**Constructor-Signatur**:
|
||||
```cpp
|
||||
Event(quint64 uniqueId, quint32 typeId, qint64 startTime, qint64 endTime,
|
||||
quint32 playerId, quint32 partyId, quint64 equipmentId,
|
||||
const QString& path, EventPaintFunc paintFunc,
|
||||
const QColor& paintColor, const QVariant& detailData,
|
||||
quint64 subEventId, const QPointF& pos, quint64 session)
|
||||
```
|
||||
|
||||
### 7. GuezNasat Module
|
||||
- [x] Include-Pfad: `LtsUtilsCore/data_modification_enum.h` → `LtsUtils/LtsUtilsCore/data_modification_enum.h`
|
||||
- [x] test_item.cpp: Include für gna_dtc.h hinzugefügt
|
||||
- [x] **operator<< ambiguous overload Fix**: friend-Deklaration in NasatAircraft und NasatAircraftParticipant
|
||||
- [x] operator<< aus globalem Scope in Namespace GuezNasat verschoben (ADL-konform)
|
||||
|
||||
### 8. Enum- und Type-Fixes
|
||||
- [x] avm_enums.hpp: `#include <cstdint>` für int32_t
|
||||
- [x] test_asm_enums.cpp: enum class Vergleiche mit static_cast
|
||||
- [x] test_asm_dtc.cpp: Include für asm_dtc.h hinzugefügt
|
||||
|
||||
### 9. Export-Header Problem behoben (aus vorheriger Session)
|
||||
- 87 CMakeLists.txt von `NGL_ADD_LIBRARY` auf `NGL_ADD_LIBRARY2` konvertiert
|
||||
- 44 Source-Dateien: Export-Header Include-Pfade korrigiert
|
||||
- Root Cause: NGL_ADD_LIBRARY2 benötigt für GENERATE_EXPORT_HEADER
|
||||
|
||||
### 10. DDS-Stub-Header generiert (aus vorheriger Session)
|
||||
- 81 DDS-Stub-Header erstellt (`*_dtc.h`, `*_fts.h`, `*_dts.h`, `*_ftc.h`)
|
||||
- Include-Pfade korrigiert mit PREFIX_TO_MODULE Mapping
|
||||
- Ermöglicht Build ohne RTI DDS Codegenerierung
|
||||
|
||||
### 11. FilterManagement DDS-Stubs (aus vorheriger Session)
|
||||
- flt_fts.h: AesFilter und AesFilterUpdateRequestHandler
|
||||
- flt_dts.h: Dts und Fts Interface-Classes
|
||||
- flt_dts.cpp: Stub-Implementation
|
||||
- flt_ftc.h: Ftc Interface mit ReplyHandler (neu erstellt)
|
||||
|
||||
### 12. InfrastructureManagement DDS-Stubs (aus vorheriger Session)
|
||||
- ism.hpp, ism_enums.hpp Stub-Header erstellt
|
||||
- IsmShared Kompilierung erfolgreich
|
||||
|
||||
### ⚠️ Aktuelle Build-Situation
|
||||
|
||||
|
||||
Reference in new issue
Block a user