- Wrap FIND_PACKAGE(RTI) in IF(NOT TARGET RTI::nddsc) condition - Prevents placeholder targets from overwriting manually configured RTI:: targets - Manual configuration creates RTI:: targets when BUILD_RTI=ON and RTI found - FIND_PACKAGE only called as fallback when manual config doesn't create targets Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M1CT3XSQXCX9RQR6WM9DG3GH
97 lines
3.4 KiB
Markdown
97 lines
3.4 KiB
Markdown
# Aktueller Checkpoint - Qt6 Migration
|
|
|
|
**Datum:** 2026-08-25
|
|
**Session:** 038
|
|
**Git Commit:** 5655b9af
|
|
**Build-Status:** 342/1140 Targets (BLOCKIERT)
|
|
|
|
---
|
|
|
|
## Letzter sinnvoller Arbeitspunkt
|
|
|
|
###已成功完成的修复 (Session 038):
|
|
1. ✅ **tab_dtc.h** - Type Aliases nach Interface namespace verschoben
|
|
- MinelayerTrailerData, MinelayerThrowerData, SpecialSensorData jetzt nach namespace Interface definiert
|
|
- Behebt "incomplete type" Fehler bei TrainingAreaBase::Interface::Xxx
|
|
|
|
2. ✅ **handler_minelayer_data.cpp** - convertMinelayerDataToXdrData() Aufrufe korrigiert
|
|
- `.position()` statt `.position` (Accessor-Methode mit Klammern)
|
|
- `.layingDensity()` statt `.layingDensity`
|
|
- `.effectStart()` statt `.effectStart`
|
|
- `.effectDuration()` statt `.effectDuration`
|
|
- `.chargeTypeId()` statt `.chargeTypeId`
|
|
- `.mineCount()` statt `.mineCount`
|
|
|
|
3. ✅ **aes_ftc.h** - Ftc::create() Signatur aktualisiert
|
|
- Parameter von `std::shared_ptr<DDSConnector>` zu `std::shared_ptr<DDSConnector::DdsConnector>`
|
|
- Inline-Implementation hinzugefügt
|
|
|
|
---
|
|
|
|
## Verbleibende BLOCKER (müssen als nächstes fixen):
|
|
|
|
### 1. handler_minelayer_data.cpp - Signal/Slot Connect (Zeilen 62-64)
|
|
```cpp
|
|
// FEHLER: connect() mit alter SIGNAL/SLOT Syntax oder falsche Signatur
|
|
// MUSS: Qt6 function-pointer Syntax verwenden
|
|
connect(m_dtc.get(), &TrainingAreaBase::Interface::Dtc::specialSensorDataChanged,
|
|
this, &HandlerMinelayerData::onSpecialSensorDataChanged);
|
|
```
|
|
|
|
### 2. handler_minelayer_data.cpp - QString Conversion (Zeile 297)
|
|
```cpp
|
|
// FEHLER: setName() erwartet QString, bekommt std::string
|
|
// Aktuell: charge.setName(QString::fromUtf8(data.chargeType().toStdString()));
|
|
// KORREKTUR: charge.setName(QString::fromUtf8(data.chargeType()));
|
|
```
|
|
|
|
### 3. handler_minelayer_data.cpp - Namespace Qualification (Zeilen 147, 190)
|
|
```cpp
|
|
// FEHLER: TrainingAreaBase::MinelayerTrailerData nicht gefunden
|
|
// KORREKTUR: TrainingAreaBase::Interface::MinelayerTrailerData verwenden
|
|
```
|
|
|
|
### 4. dds_connector.h - Incomplete Type (Zeilen 207-209)
|
|
```cpp
|
|
// FEHLER: Unvollständige Typen in der Klasse
|
|
// Benötigt: Forward declarations oder richtige Include-Reihenfolge
|
|
```
|
|
|
|
### 5. handler_minelayer_data.cpp - ddsConnector() Return Type (Zeile 42)
|
|
```cpp
|
|
// FEHLER: ddsConnector() gibt int zurück statt std::shared_ptr<DdsConnector>
|
|
// Header muss korrigiert werden
|
|
```
|
|
|
|
---
|
|
|
|
## Nächste Schritte (Priorität):
|
|
|
|
1. **dds_connector.h fixen** - Return Type von ddsConnector() korrigieren
|
|
2. **handler_minelayer_data.cpp fixen** - Alle 5 verbleibenden Fehler beheben
|
|
3. **Build neu starten** - `./build_docker.sh 2>&1 | tee build_log.txt`
|
|
4. **MIGRATION_STATUS.md updaten** - Auf 2026-08-29 (Session 038)
|
|
|
|
---
|
|
|
|
## Wichtige Dateien für nächste Session:
|
|
|
|
| Datei | Status | Priorität |
|
|
|-------|--------|-----------|
|
|
| `Lts/Services/GuezMinelayerProcessing/handler_minelayer_data.cpp` | ❌ Fehler | HIGH |
|
|
| `include/DDS/DDSConnector/dds_connector.h` | ❌ Fehler | HIGH |
|
|
| `include/Proxies/TrainingAreaBase/tab_dtc.h` | ✅ Gefixt | - |
|
|
| `include/AreaEffectSimulation/aes_ftc.h` | ✅ Gefixt | - |
|
|
| `./MIGRATION_STATUS.md` | ⏳ Update nötig | MEDIUM |
|
|
|
|
---
|
|
|
|
## Build-Command für Fortsetzung:
|
|
```bash
|
|
cd /home/torsten/swy/sandbox
|
|
./build_docker.sh 2>&1 | tee build_log_session038.txt
|
|
```
|
|
|
|
## Checkpoint speichern:
|
|
Dieser Stand wurde gespeichert in: `.checkpoint_current.md`
|
|
Nächste Session kann hier nahtlos fortfahren. |