From 8e995beca884e80866e9c31cff91c6c5b3cc315c Mon Sep 17 00:00:00 2001 From: qjgn <45095781+qjgn@users.noreply.github.com> Date: Mon, 24 Feb 2025 13:17:29 +0100 Subject: [PATCH] Updated qualisys_cpp_sdk and init scripts (#71) Issue: The inclusion of tinyxml2 generates warning C4459 Engine\Source\Runtime\Core\Public\Math\RotationTranslationMatrix.h(60): error C4459: declaration of 'CR' hides global declaration Solution: Disabled shadow variable warning in QTMConnectLiveLink.Build.cs --- .../Private/QTMConnectLiveLinkSource.cpp | 8 +-- .../QTMConnectLiveLink.Build.cs | 15 +++--- qualisys_cpp_sdk | 2 +- qualisys_cpp_sdk_init.bat | 43 ++++++++++------ qualisys_cpp_sdk_init.sh | 50 +++++++++++-------- 5 files changed, 70 insertions(+), 48 deletions(-) diff --git a/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/Private/QTMConnectLiveLinkSource.cpp b/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/Private/QTMConnectLiveLinkSource.cpp index b5e2374..c6cb6f2 100644 --- a/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/Private/QTMConnectLiveLinkSource.cpp +++ b/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/Private/QTMConnectLiveLinkSource.cpp @@ -339,17 +339,17 @@ uint32 FQTMConnectLiveLinkSource::Run() components |= CRTProtocol::cComponentForceSingle; } - CRTProtocol::EStreamRate streamRate = CRTProtocol::RateAllFrames; + CRTProtocol::EStreamRate streamRate = CRTProtocol::EStreamRate::RateAllFrames; if (Settings.StreamRate == "Frequency") { - streamRate = CRTProtocol::RateFrequency; + streamRate = CRTProtocol::EStreamRate::RateFrequency; } else if (Settings.StreamRate == "Frequency Divisor") { - streamRate = CRTProtocol::RateFrequencyDivisor; + streamRate = CRTProtocol::EStreamRate::RateFrequencyDivisor; } - if (!mRTProtocol->StreamFrames(streamRate, (streamRate != CRTProtocol::RateAllFrames) ? Settings.FrequencyValue : 0, 0, nullptr, components)) + if (!mRTProtocol->StreamFrames(streamRate, (streamRate != CRTProtocol::EStreamRate::RateAllFrames) ? Settings.FrequencyValue : 0, 0, nullptr, components)) { SourceStatus = FText::FromString(ANSI_TO_TCHAR(mRTProtocol->GetErrorString())); diff --git a/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/QTMConnectLiveLink.Build.cs b/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/QTMConnectLiveLink.Build.cs index 7c75e55..a15b0dc 100644 --- a/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/QTMConnectLiveLink.Build.cs +++ b/Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/QTMConnectLiveLink.Build.cs @@ -8,23 +8,26 @@ public class QTMConnectLiveLink : ModuleRules public QTMConnectLiveLink(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; - string pluginPublicIncludePath = Path.Combine(ModuleDirectory, "Public"); - string pluginPrivateIncludePath = Path.Combine(ModuleDirectory, "Private"); + + bWarningsAsErrors = false; + + bEnableExceptions = true; + + ShadowVariableWarningLevel = WarningLevel.Off; PublicIncludePaths.AddRange( new string[] { - pluginPublicIncludePath + Path.Combine(ModuleDirectory, "Public") } ); PrivateIncludePaths.AddRange( new string[] { - pluginPrivateIncludePath + Path.Combine(ModuleDirectory, "Private"), + Path.Combine(ModuleDirectory, "Private/RtClientSDK/External/tinyxml2") } ); - bEnableExceptions = true; - PublicDependencyModuleNames.AddRange( new string[] { diff --git a/qualisys_cpp_sdk b/qualisys_cpp_sdk index 14b9857..a9070a9 160000 --- a/qualisys_cpp_sdk +++ b/qualisys_cpp_sdk @@ -1 +1 @@ -Subproject commit 14b98578c9769be2e5c9fd2a58dd78d3f50dc876 +Subproject commit a9070a9353b01191d246159bd3e54002c31438e3 diff --git a/qualisys_cpp_sdk_init.bat b/qualisys_cpp_sdk_init.bat index db60706..2d9fef5 100644 --- a/qualisys_cpp_sdk_init.bat +++ b/qualisys_cpp_sdk_init.bat @@ -1,20 +1,33 @@ @echo off set "dir_private=Qualisys\QTMConnectLiveLink\Source\QTMConnectLiveLink\Private\RTClientSDK" - -echo Ensuring directories exist... -if not exist "%dir_private%" ( - mkdir "%dir_private%" - echo Created %dir_private% -) - +echo Ensuring directory exists... +if not exist "%dir_private%" mkdir "%dir_private%" echo Copying files from qualisys_cpp_sdk into %dir_private% -copy /Y "qualisys_cpp_sdk\Markup.cpp" "%dir_private%" -copy /Y "qualisys_cpp_sdk\Network.cpp" "%dir_private%" -copy /Y "qualisys_cpp_sdk\RTPacket.cpp" "%dir_private%" -copy /Y "qualisys_cpp_sdk\RTProtocol.cpp" "%dir_private%" -copy /Y "qualisys_cpp_sdk\Markup.h" "%dir_private%" -copy /Y "qualisys_cpp_sdk\Network.h" "%dir_private%" -copy /Y "qualisys_cpp_sdk\RTPacket.h" "%dir_private%" -copy /Y "qualisys_cpp_sdk\RTProtocol.h" "%dir_private%" +xcopy /Y "qualisys_cpp_sdk\Deserializer.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\Deserializer.h" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\LICENSE.md" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\Network.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\Network.h" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\RTPacket.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\RTPacket.h" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\RTProtocol.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\RTProtocol.h" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\Serializer.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\Serializer.h" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\Settings.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\Settings.h" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\SettingsDeserializer.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\SettingsDeserializer.h" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\SettingsSerializer.cpp" "%dir_private%\" +xcopy /Y "qualisys_cpp_sdk\SettingsSerializer.h" "%dir_private%\" echo Done copying files from qualisys_cpp_sdk into %dir_private% + +set "tinyxml2_private=Qualisys\QTMConnectLiveLink\Source\QTMConnectLiveLink\Private\RTClientSDK\External\tinyxml2" +echo Ensuring directory exists... +if not exist "%tinyxml2_private%" mkdir "%tinyxml2_private%" +echo Copying files from qualisys_cpp_sdk into %tinyxml2_private% +xcopy /Y "qualisys_cpp_sdk\External\tinyxml2\LICENSE.txt" "%tinyxml2_private%\" +xcopy /Y "qualisys_cpp_sdk\External\tinyxml2\tinyxml2.cpp" "%tinyxml2_private%\" +xcopy /Y "qualisys_cpp_sdk\External\tinyxml2\tinyxml2.h" "%tinyxml2_private%\" +echo Done copying files from qualisys_cpp_sdk into %tinyxml2_private% diff --git a/qualisys_cpp_sdk_init.sh b/qualisys_cpp_sdk_init.sh index 338a118..b18a6af 100644 --- a/qualisys_cpp_sdk_init.sh +++ b/qualisys_cpp_sdk_init.sh @@ -1,28 +1,34 @@ -#!/usr/bin/env bash +#!/bin/bash +set -e # Exit on error -# The target directory for copied files dir_private="Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/Private/RTClientSDK" - -# Files to copy -files=( - "Markup.cpp" - "Network.cpp" - "RTPacket.cpp" - "RTProtocol.cpp" - "Markup.h" - "Network.h" - "RTPacket.h" - "RTProtocol.h" -) - echo "Ensuring directory exists..." mkdir -p "$dir_private" - echo "Copying files from qualisys_cpp_sdk into $dir_private" - -# Loop over files array and copy each into $dir_private -for file in "${files[@]}"; do - cp -f "qualisys_cpp_sdk/$file" "$dir_private" -done - +cp -u "qualisys_cpp_sdk/Deserializer.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/Deserializer.h" "$dir_private/" +cp -u "qualisys_cpp_sdk/LICENSE.md" "$dir_private/" +cp -u "qualisys_cpp_sdk/Network.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/Network.h" "$dir_private/" +cp -u "qualisys_cpp_sdk/RTPacket.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/RTPacket.h" "$dir_private/" +cp -u "qualisys_cpp_sdk/RTProtocol.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/RTProtocol.h" "$dir_private/" +cp -u "qualisys_cpp_sdk/Serializer.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/Serializer.h" "$dir_private/" +cp -u "qualisys_cpp_sdk/Settings.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/Settings.h" "$dir_private/" +cp -u "qualisys_cpp_sdk/SettingsDeserializer.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/SettingsDeserializer.h" "$dir_private/" +cp -u "qualisys_cpp_sdk/SettingsSerializer.cpp" "$dir_private/" +cp -u "qualisys_cpp_sdk/SettingsSerializer.h" "$dir_private/" echo "Done copying files from qualisys_cpp_sdk into $dir_private" + +tinyxml2_private="Qualisys/QTMConnectLiveLink/Source/QTMConnectLiveLink/Private/RTClientSDK/External/tinyxml2/" +echo "Ensuring directory exists..." +mkdir -p "$tinyxml2_private" +echo "Copying files from qualisys_cpp_sdk into $tinyxml2_private" +cp -u "qualisys_cpp_sdk/External/tinyxml2/LICENSE.txt" "$tinyxml2_private/" +cp -u "qualisys_cpp_sdk/External/tinyxml2/tinyxml2.cpp" "$tinyxml2_private/" +cp -u "qualisys_cpp_sdk/External/tinyxml2/tinyxml2.h" "$tinyxml2_private/" +echo "Done copying files from qualisys_cpp_sdk into $tinyxml2_private"