robcog-iai / UROSBridge

Unreal ROS Bridge topic / service communication via websocket
http://robcog.org/
BSD 3-Clause "New" or "Revised" License
52 stars 37 forks source link

Cannot package project using this plugin on Windows 10 (MicrosoftPlatformString.h error) #44

Open DarioMazzanti opened 5 years ago

DarioMazzanti commented 5 years ago

Hi, thanks for the plugin! I have been working with it for some time : ) Up until now, my team and I have been working within the Unreal Editor, but recently I was trying to package one of our projects as a standalone exe in Windows 10. Unfortunately, packaging for Windows 10 when including the UROSBridge plugin is not working for us.

Steps to reproduce: using UE 4.18, create a new C++ project and add the Plugin. Add public dependencies in project's Build.cs file for the plugin, as described in readme file. Compile and launch the project editor. Try to package (DebugGame/Development/Shipping).

What happens: packaging fails. All errors are related to the MicrosoftPlatformString.h file, located in engine\source\runtime\core\public\GenericPlatform (see log below)

Expected behaviour: packaging should succeed, and project should run standalone.

Have you ever encountered this kind of issue?

UATHelper: Packaging (Windows (64-bit)): ********** BUILD COMMAND STARTED **********
UATHelper: Packaging (Windows (64-bit)): Running: C:\Program Files\Epic Games\UE_4.18\Engine\Binaries\DotNET\UnrealBuildTool.exe TestProject Win64 DebugGame -Project=C:\TestProject\TestProject.uproject  C:\TestProject\TestProject.uproject -NoUBTMakefiles  -remoteini="C:\TestProject" -skipdeploy -noxge -generatemanifest -NoHotReload
UATHelper: Packaging (Windows (64-bit)): Took 2,3960312s to run UnrealBuildTool.exe, ExitCode=0
UATHelper: Packaging (Windows (64-bit)): Running: C:\Program Files\Epic Games\UE_4.18\Engine\Binaries\DotNET\UnrealBuildTool.exe TestProject Win64 DebugGame -Project=C:\TestProject\TestProject.uproject  C:\TestProject\TestProject.uproject -NoUBTMakefiles  -remoteini="C:\TestProject" -skipdeploy -noxge -NoHotReload -ignorejunk
UATHelper: Packaging (Windows (64-bit)):   Performing 9 actions (4 in parallel)
UATHelper: Packaging (Windows (64-bit)):   SharedPCH.Engine.NonOptimized.cpp
UATHelper: Packaging (Windows (64-bit)):   Module.UROSBridge.gen.cpp
UATHelper: Packaging (Windows (64-bit)):   Module.UROSBridge.cpp
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(160): error C3861: 'strcpy': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(169): error C3861: 'strncpy': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(180): error C3861: 'strcat': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(190): error C3861: 'strupr': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(196): error C3861: 'strcmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(201): error C3861: 'strncmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(218): error C3861: '_stricmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(239): error C3861: '_strnicmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(244): error C3861: 'strlen': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(299): error C3861: 'strtok_s': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(160): error C3861: 'strcpy': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(169): error C3861: 'strncpy': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(180): error C3861: 'strcat': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(190): error C3861: 'strupr': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(196): error C3861: 'strcmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(201): error C3861: 'strncmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(218): error C3861: '_stricmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(239): error C3861: '_strnicmp': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(244): error C3861: 'strlen': identifier not found
UATHelper: Packaging (Windows (64-bit)):   c:\program files\epic games\ue_4.18\engine\source\runtime\core\public\GenericPlatform/MicrosoftPlatformString.h(299): error C3861: 'strtok_s': identifier not found
UATHelper: Packaging (Windows (64-bit)):   TestProject.init.gen.cpp
UATHelper: Packaging (Windows (64-bit)):   TestProjectGameModeBase.cpp
UATHelper: Packaging (Windows (64-bit)):   TestProject.cpp
UATHelper: Packaging (Windows (64-bit)):   TestProjectGameModeBase.gen.cpp
UATHelper: Packaging (Windows (64-bit)):   ERROR: UBT ERROR: Failed to produce item: C:\TestProject\Plugins\UROSBridge\Binaries\Win64\UE4-UROSBridge-Win64-DebugGame.lib
UATHelper: Packaging (Windows (64-bit)):   Total build time: 26,58 seconds (Local executor: 0,00 seconds)
UATHelper: Packaging (Windows (64-bit)): Took 28,235202s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Windows (64-bit)): ERROR: Command failed (Result:5): C:\Program Files\Epic Games\UE_4.18\Engine\Binaries\DotNET\UnrealBuildTool.exe TestProject Win64 DebugGame -Project=C:\TestProject\TestProject.uproject  C:\TestProject\TestProject.uproject -NoUBTMakefiles  -remoteini="C:\TestProject" -skipdeploy -noxge -NoHotReload -ignorejunk. See lo
gfile for details: 'UnrealBuildTool-2019.06.07-11.53.56.txt' 
UATHelper: Packaging (Windows (64-bit)):        (see C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.18\UAT_Log.txt for full exception trace)
UATHelper: Packaging (Windows (64-bit)): AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults: Error: Unknown Error