So I got a half baked plugin repo from 4.16 and have managed to painstakingly convert it to 4.25, I no longer get any errors related to refactoring but I think I mightve deleted a header or two somewhere. Im unable to figure the problem out since the errors are quite ambiguous.
Error log
1>------ Build started: Project: FPSGame, Configuration: Development_Editor x64 ------
1>Invalidating makefile for FPSGameEditor (LocalPhysics.build.cs modified)
1>U:\UnrealEngineProjects\CrashShips\UnrealProject\StealthGame\Plugins\LocalPhysics\Source\LocalPhysics\LocalPhysics.build.cs : warning : Modules must specify an explicit precompiled header (eg. PrivatePCHHeaderFile = "Public/LocalPhysicsActor.h") from UE 4.21 onwards.
1>Parsing headers for FPSGameEditor
1> Running UnrealHeaderTool "U:\UnrealEngineProjects\CrashShips\UnrealProject\StealthGame\FPSGame.uproject" "U:\UnrealEngineProjects\CrashShips\UnrealProject\StealthGame\Intermediate\Build\Win64\FPSGameEditor\Development\FPSGameEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\Users\snn\AppData\Local\UnrealBuildTool\Log_UHT.txt" -installed
1>Reflection code generated for FPSGameEditor in 4.2510655 seconds
1>Building FPSGameEditor...
1>Using Visual Studio 2019 14.27.29111 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10).
1>[Upgrade]
1>[Upgrade] Using backward-compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
1>[Upgrade] bLegacyPublicIncludePaths = false => Omits subfolders from public include paths to reduce compiler command line length. (Previously: true).
1>[Upgrade] ShadowVariableWarningLevel = WarningLevel.Error => Treats shadowed variable warnings as errors. (Previously: WarningLevel.Warning).
1>[Upgrade] PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html. (Previously: PCHUsageMode.UseSharedPCHs).
1>[Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V2;' in FPSGameEditor.Target.cs, and explicitly overriding settings that differ from the new defaults.
1>[Upgrade]
1>Distributing 2 actions to XGE
1>--------------------Build System Warning---------------------------------------
1>License is invalid:
1> License information is invalid. Please try reloading your license file using the Coordinator Monitor application on the Coordinator machine, or reinstall IncrediBuild.
1> This build will run in standalone mode.
1>
1>-------------------------------------------------------------------------------
1>--------------------Project: Default-------------------------------------------
1>UE4Editor-LocalPhysics.dll (0:00.37 at +0:00)
1> Creating library U:\UnrealEngineProjects\CrashShips\UnrealProject\StealthGame\Plugins\LocalPhysics\Intermediate\Build\Win64\UE4Editor\Development\LocalPhysics\UE4Editor-LocalPhysics.suppressed.lib and object U:\UnrealEngineProjects\CrashShips\UnrealProject\StealthGame\Plugins\LocalPhysics\Intermediate\Build\Win64\UE4Editor\Development\LocalPhysics\UE4Editor-LocalPhysics.suppressed.exp
1>Module.LocalPhysics.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct FTransform __cdecl P2UTransform(class physx::PxTransform const &)" (__imp_?P2UTransform@@YA?AUFTransform@@AEBVPxTransform@physx@@@Z) referenced in function "public: struct FTransform __cdecl LocalPhysics::FActorHandle::GetBodyTransform(void)const " (?GetBodyTransform@FActorHandle@LocalPhysics@@QEBA?AUFTransform@@XZ)
1>Module.LocalPhysics.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class physx::PxPhysics * GPhysXSDK" (__imp_?GPhysXSDK@@3PEAVPxPhysics@physx@@EA) referenced in function "public: __cdecl LocalPhysics::D6JointData::D6JointData(class physx::PxD6Joint *)" (??0D6JointData@LocalPhysics@@QEAA@PEAVPxD6Joint@physx@@@Z)
1>Module.LocalPhysics.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct FThreadSafeStaticStat StatPtr_STAT_PhysSceneWriteLock" (__imp_?StatPtr_STAT_PhysSceneWriteLock@@3U?$FThreadSafeStaticStat@UFStat_STAT_PhysSceneWriteLock@@@@A) referenced in function "public: __cdecl FPhysXSceneWriteLock::FPhysXSceneWriteLock(class physx::PxScene *,char const *,unsigned int)" (??0FPhysXSceneWriteLock@@QEAA@PEAVPxScene@physx@@PEBDI@Z)
1>U:\UnrealEngineProjects\CrashShips\UnrealProject\StealthGame\Plugins\LocalPhysics\Binaries\Win64\UE4Editor-LocalPhysics.dll : fatal error LNK1120: 3 unresolved externals
1>
1>Error executing U:\Epic Games\UE_4.25\Engine\Build\Windows\link-filter\link-filter.exe (tool returned code: 1120)
1>---------------------- Done ----------------------
1>
Plugins/LocalPhysics/LocalPhysics.build.cs
my plugins build.cs
using UnrealBuildTool;
namespace UnrealBuildTool.Rules
{
public class LocalPhysics : ModuleRules
{
public LocalPhysics(ReadOnlyTargetRules Target) : base(Target)
{
//PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(
new string[] {"Core", "CoreUObject", "Engine", "InputCore", "PhysX", "APEX" , "LocalPhysics"});
}
}
}
FPSGame/Source/FPSGame/FPSGame.Build.cs
root build.cs
```
using UnrealBuildTool;
public class FPSGame : ModuleRules
{
public FPSGame(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(
new string[] {"Core", "CoreUObject", "Engine", "InputCore", "PhysX", "APEX" , "LocalPhysics"});
PrivateDependencyModuleNames.AddRange(
new string[] { "Core", "CoreUObject", "Engine", "InputCore", "PhysX", "APEX", "LocalPhysics" });
}
}
Im trying to debug it but i dont even know whats causing the errors.