- dynamic_data_reader.h: Add #include <rti/core/xtypes/DynamicDataImpl.hpp>
to resolve incomplete type error when deleting DynamicDataImpl pointers
- generic_dts_impl.h: Add m_logger member variable declaration (LOGGER_T&)
- dynamic_data_reader.h: Add m_logger member variable declaration (LOGGER_T&)
- pub_sub_base.cpp: Fix logger initialization to use
NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger() instead of
non-existent NGL::getNGLLogger()
- lts_session_data_dds.h: Add DataPluginBase::Interface forward declaration
to both #ifdef BUILD_RTI and #else blocks for consistent compilation
- LtsUtilsCore/CMakeLists.txt: Fix include path from /.. to /../..
for LtsUtilsCoreHeaderOnly target
- tests/CMakeLists.txt: Move Grantlee test filtering BEFORE executable
creation to prevent build failures when Grantlee is disabled
Build validation:
- BUILD_RTI=OFF: ✅ 0 errors (previously completed)
- BUILD_RTI=ON: ✅ DDS core components compile successfully
- libddsconnector.so created successfully
- Remaining build errors in unrelated modules (IsmDataPluginInterface,
IsmShared, BuildingControlBsm) are pre-existing dependency issues
C++ Standard: Enforcing C++17 across all builds due to RTI Connext DDS 7.7.0
incompatibility with C++20/C++23 (known header bugs with newer standards).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add missing m_logger member declarations to GenericDataWriter,
GenericDataReader, GenericDtcImplSubscriberTemplate
- Add DynamicDataImpl.hpp include for complete type in publisher.h/cpp
- Wrap dds_connector.cpp implementation in #if BUILD_RTI guards
- Fix stub signatures in dds_connector.h to match implementation
- Set CMAKE_CXX_STANDARD to 17 (RTI 7.7.0 hard requirement)
RTI Connext DDS 7.7.0 only supports C++14/C++17. C++20/23 causes
header compilation errors. Cannot mix C++ variants.
Remaining Qt6 issues (separate from RTI work):
- QJsonDocument::toBinaryData/fromBinaryData → toJson/fromJson
- QJsonObject initializer list syntax in training_area_telegrams.cpp
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- cmake/FindRTI.cmake: Add INTERFACE placeholder targets when RTI not found
- cmake/FindRTI.cmake: Force BUILD_RTI=OFF when RTI not installed
- Lts/Common/LtsSession/CMakeLists.txt: Make LtsSessionDataDds conditional on BUILD_RTI
- Lts/Viewer/CMakeLists.txt: Make LtsDataView conditional on BUILD_RTI
- Lts/Plugins/*/CMakeLists.txt: 97 plugin files wrapped in BUILD_RTI conditionals
- cmake/NGLMacros.cmake: Fix NGL_ADD_BIG_RESOURCES macro (removed premature return())
- Multiple Qt6 API fixes: QLinkedList→std::list, QStringRef→QStringView, etc.
- BUILD_RTI_FIXES_SUMMARY.md: Comprehensive documentation of all fixes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>