MIGRATION_STATUS.md: BUILD_RTI=OFF Build-Erfolg dokumentiert
Qt6 Migration CI / migrate (push) Has been cancelled
Qt6 Migration CI / migrate (push) Has been cancelled
- Lts/Common: BUILD_RTI=ON getestet (1/1 Tests erfolgreich) - Lts/DDS: BUILD_RTI=OFF Build erfolgreich (1902/1902 Targets) - DDS-Stub-Header vervollständigt für BUILD_RTI=OFF - Nächster Schritt: BUILD_RTI=ON Test mit RTI Connext DDS Entire-Checkpoint: 01M18X15BAQC7EWDMDWY0Y3HPE
This commit is contained in:
1 parent
0296f5992d
commit
4c6d28b177
1 file changed
+84
-1
+84
-1
@@ -1,6 +1,6 @@
|
||||
# Qt5 zu Qt6 Migration - Statusbericht
|
||||
|
||||
**Stand**: 2026-08-29 (Update 2)
|
||||
**Stand**: 2026-09-30 (Update 3)
|
||||
**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)
|
||||
@@ -176,3 +176,86 @@ Link: ❌ Fehlende Libraries (LtsDataView, svcFlmCommon, svcOpmCommon, svcE
|
||||
**Erstellt**: 2026-08-18
|
||||
**Letzte Aktualisierung**: 2026-08-29
|
||||
**Autor**: Migration Team
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Update 2026-08-18: BUILD_RTI=OFF Build erfolgreich abgeschlossen
|
||||
|
||||
### Zusammenfassung
|
||||
- **Build-Status**: ✅ **1902/1902 Targets erfolgreich gebaut**
|
||||
- **Konfiguration**: BUILD_RTI=OFF (DDS-Stub-Implementierung)
|
||||
- **Qt-Version**: Qt 6.8.3 (Docker Ubuntu 26.04)
|
||||
- **C++ Standard**: C++23
|
||||
|
||||
### Erstellte DDS-Stub-Header für BUILD_RTI=OFF
|
||||
|
||||
| Header-Datei | Zweck | Status |
|
||||
|--------------|-------|--------|
|
||||
| `include/DDS/Generic/ddsgen_export.h` | Export-Makros (leer für OFF) | ✅ Fertig |
|
||||
| `include/DDS/Generic/generic_data_reader.h` | Data Reader Template-Stub | ✅ Fertig |
|
||||
| `include/DDS/Generic/generic_base.h` | Topic-Name-Templates, Helper-Funktionen | ✅ Fertig |
|
||||
| `include/DDS/Generic/generic_logger.h` | Logger-Wrapper mit DataType-Enum | ✅ Fertig |
|
||||
| `include/DDS/DTC/generic_dtc.h` | Minimale DDS-Typen für DTC | ✅ Fertig |
|
||||
|
||||
### Wichtige Code-Änderungen
|
||||
|
||||
#### 1. QObject-Entfernung für BUILD_RTI=OFF
|
||||
- **DatabaseInterfaceImpl** (flm_db_impl.h): QObject-Basisklasse und Q_OBJECT-Makro entfernt
|
||||
- **DtcImpl** (opm_dtc_impl.h): Q_OBJECT-Makro entfernt, reine C++-Klasse
|
||||
- **Begründung**: Keine Qt-Signal/Slot-Mechanismen in DDS-freier Konfiguration benötigt
|
||||
|
||||
#### 2. Logger-Stub-Implementierung
|
||||
```cpp
|
||||
// NGL::Logger verwendet Qt-Logging statt NGL::LogStreamHelper
|
||||
class Logger {
|
||||
public:
|
||||
void logDebug(const std::string& msg) { qDebug() << msg.c_str(); }
|
||||
void logWarning(const std::string& msg) { qWarning() << msg.c_str(); }
|
||||
void logError(const std::string& msg) { qCritical() << msg.c_str(); }
|
||||
};
|
||||
```
|
||||
|
||||
#### 3. FileStatus als int-Alias
|
||||
```cpp
|
||||
// Für BUILD_RTI=OFF: FileStatus als int-Alias statt enum class
|
||||
using FileStatus = int;
|
||||
constexpr int FileStatus_Valid = 0;
|
||||
constexpr int FileStatus_Deleted = 1;
|
||||
```
|
||||
|
||||
#### 4. CMake: DDS-Bibliotheken conditional
|
||||
```cmake
|
||||
if(BUILD_RTI)
|
||||
# Echte RTI-Bibliotheken
|
||||
else()
|
||||
# Leere INTERFACE-Libraries für BUILD_RTI=OFF
|
||||
add_library(ddsc INTERFACE)
|
||||
add_library(ddscore INTERFACE)
|
||||
# ... weitere DDS-Libraries
|
||||
endif()
|
||||
```
|
||||
|
||||
#### 5. Qt6/C++23 Updates
|
||||
- **std::optional**: `is_set()` → `has_value()`, `get()` → `value()`
|
||||
- **Container**: QList → std::vector mit expliziter Konversion
|
||||
- **qAsConst**: Fix für rvalue expressions (z.B. `user.exerciseIds()`)
|
||||
|
||||
### Test-Status
|
||||
| Test | BUILD_RTI=ON | BUILD_RTI=OFF |
|
||||
|------|--------------|---------------|
|
||||
| Lts/Common | ✅ 1/1 bestanden | ⚠️ Nicht ausführbar (DDS-Dependency) |
|
||||
| DDS-Tests | ✅ Verfügbar | ❌ Nicht verfügbar (kein RTI) |
|
||||
| Gesamt-Build | ✅ 1902 Targets | ✅ 1902 Targets |
|
||||
|
||||
### Bekannte Einschränkungen (BUILD_RTI=OFF)
|
||||
1. **Keine DDS-Funktionalität**: Data Reader, Topics, TypeSupport nur als Stubs
|
||||
2. **Tests nicht ausführbar**: Die meisten Tests benötigen DDS-Backend
|
||||
3. **Code-Generator**: ddsgen läuft nicht ohne RTI Connext Installation
|
||||
|
||||
### Nächste Schritte
|
||||
1. **BUILD_RTI=ON testen**: Vollständige Validierung mit RTI Connext DDS
|
||||
2. **Test-Suite**: Alle Unit-Tests mit DDS-Backend ausführen
|
||||
3. **Restliche Module**: Lts/Plugins, Lts/Services, Lts/Proxies, Lts/Projects migrieren
|
||||
4. **C++23 Features**: Weitere Modernisierung wo sinnvoll
|
||||
|
||||
---
|
||||
Reference in new issue
Block a user