Hi all,
Currently trying to get the Substance plugin working with the UWP UE4 fork and running into a few issues that I wonder if anyone here has been able to resolve.
When compiling for UWP64 I get the following:
2>LINK : warning LNK4199: /DELAYLOAD:libogg_64.dll ignored; no imports found from libogg_64.dll
2>LINK : warning LNK4199: /DELAYLOAD:libvorbis_64.dll ignored; no imports found from libvorbis_64.dll
2>Module.Icmp.cpp.obj : error LNK2019: unresolved external symbol "unsigned short __cdecl NtoHS(unsigned short)" (?NtoHS@@YAGG@Z) referenced in function "struct FIcmpEchoResult __cdecl UDPEchoImpl(class ISocketSubsystem *,class FString const &,float)" (?UDPEchoImpl@@YA?AUFIcmpEchoResult@@PEAVISocketSubsystem@@AEBVFString@@M@Z)
2>Module.Icmp.cpp.obj : error LNK2019: unresolved external symbol "unsigned short __cdecl HtoNS(unsigned short)" (?HtoNS@@YAGG@Z) referenced in function "struct FIcmpEchoResult __cdecl UDPEchoImpl(class ISocketSubsystem *,class FString const &,float)" (?UDPEchoImpl@@YA?AUFIcmpEchoResult@@PEAVISocketSubsystem@@AEBVFString@@M@Z)
2>Module.Icmp.cpp.obj : error LNK2019: unresolved external symbol "unsigned int __cdecl HtoNL(unsigned int)" (?HtoNL@@YAII@Z) referenced in function "struct FIcmpEchoResult __cdecl UDPEchoImpl(class ISocketSubsystem *,class FString const &,float)" (?UDPEchoImpl@@YA?AUFIcmpEchoResult@@PEAVISocketSubsystem@@AEBVFString@@M@Z)
2>substance_sse2_blend_static.lib(maindetailcontextimpl.obj) : error LNK2019: unresolved external symbol __imp_GetModuleHandleW referenced in function algSyncThreadGetPhysicalProcessorCount
2>substance_sse2_blend_static.lib(maindetailhandleimpl.obj) : error LNK2019: unresolved external symbol __imp_VirtualAlloc referenced in function algExecMemoryCreate
2>algcompression.lib(Alloc.obj) : error LNK2001: unresolved external symbol __imp_VirtualAlloc
2>substance_sse2_blend_static.lib(maindetailhandleimpl.obj) : error LNK2019: unresolved external symbol __imp_VirtualProtect referenced in function algExecMemoryCreate
I have added UWP, UWP32 and UWP64 to the WhitelistPlatforms in the Substance.uplugin file and in the SubstanceEngine.Build.cs file I have added the following to pickup the Win32/64 libraries:
if (Target.Platform == UnrealTargetPlatform.Win32 ||
Target.Platform == UnrealTargetPlatform.Win64
|| Target.Platform == UnrealTargetPlatform.UWP64
|| Target.Platform == UnrealTargetPlatform.UWP32)
{
I feel like it should work but I'm missing something here. Any suggestions would be greatful.
Thanks,
Jon