“[ProjectName] modifies the values of properties: [ bStrictConformanceMode ]. This is not allowed, as [ProjectName] has build products in common with UnrealEditor.”
Original
using UnrealBuildTool;
using System.Collections.Generic;
public class PMeleeWeaponEditorTarget : TargetRules
{
public PMeleeWeaponEditorTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Editor;
ExtraModuleNames.Add("PMeleeWeapon");
}
}
Solution ~~> bOverrideBuildEnvironment = true
using UnrealBuildTool;
using System.Collections.Generic;
public class PMeleeWeaponEditorTarget : TargetRules
{
public PMeleeWeaponEditorTarget(TargetInfo Target) : base(Target)
{
bOverrideBuildEnvironment = true;
Type = TargetType.Editor;
ExtraModuleNames.Add("PMeleeWeapon");
}
}
I was having a similar problem in 5.3.2 when my tests would try to reload the map I had open already, and I resolved by checking to see if that map was open already. Now it’s doing it regardless of what map is already loaded, but it’s also inconsistent and doesn’t happen every time.
This doesn’t seem to be a problem when I use the normal test workflow with the latent command FEditorLoadMap(TestWorldPath)
I tried stepping through to see if I could identify where it goes wrong but it didn’t shed any light.
error C2248: ‘TMemoryWriterBase<TSizedDefaultAllocator<32>>::IndexSize’: cannot access private member
Original
// Fill out your copyright notice in the Description page of Project Settings.
using UnrealBuildTool;
using System.Collections.Generic;
public class PMeleeWeaponTarget : TargetRules
{
public PMeleeWeaponTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
bUsesSteam = true;
ExtraModuleNames.Add("PMeleeWeapon");
}
}
// Fill out your copyright notice in the Description page of Project Settings.
using UnrealBuildTool;
using System.Collections.Generic;
public class PMeleeWeaponTarget : TargetRules
{
public PMeleeWeaponTarget(TargetInfo Target) : base(Target)
{
DefaultBuildSettings = BuildSettingsVersion.Latest;
Type = TargetType.Game;
bUsesSteam = true;
ExtraModuleNames.Add("PMeleeWeapon");
}
}
Having issues building my game since the upgrade was working fine in the latest 5.3 but now im getting un unresolved external symbol which normally means there is a missing dependency. From what i can see however nothing has changed for this, from 5.3 to 5.4 its still part of the CoreUObject Module.
Error : LNK2019: unresolved external symbol "__declspec(dllimport) public: class FString __cdecl FUniqueNetIdWrapper::ToString(void)const " (__imp_?ToString@FUniqueNetIdWrapper@@QEBA?AVFString@@XZ) referenced in function
My Build.cs PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "OnlineSubsystem", "OnlineSubsystemUtils"});
This line is the culprit, doesnt any one know if anythign has chnage if so what Module i need to add or a different way to get the UniqueID
I thought I would include here what I found. In my project, after making the above target.cs changes plus adding in the following to build.cs, I still received errors.
Into build.cs
CppStandard = CppStandardVersion.Cpp20;
The remaining errors were for lack of include files that had not given me problems prior to 5.4.1. The error was like: invalid application of ‘sizeof’ casts.h
The error called out casts for 3 of my classes and UGameInstance. This error didn’t point back into any of my code, but by searching for where I had done Casts of the types mentioned in the error, I was able to find the files that lacked includes and add the includes in. All had been defined with the class statement and apparently no longer could be resolved. They had all worked fine prior to 5.4.1.
If you have many returns from a search for the casted class (e.g., search for
Cast<TheUnresolvedClass>(somepointer);
It takes quite a bit of time to find the instances that are actually causing the problem but eventually I was able to get rid of all of them.
This was on Mac and XCode and I’m guessing such a glaring issue would not have been present on more tested windows and VC versions without something mentioned in the release notes. In each case, it was where I’d used a class rather than include, though not all class statements caused the problem, just 4 out of 20 or 30.
Hi, is there any logic or reason behind changing the main editors Tool Menu first section name from “Tools” to “Instrumentation”?
It doesn’t have an access point either:
I’m kind of getting the impression that it’s not really wanting to be added to, in which case - do you think it would be too cheeky to add a tools submenu above that in the Programming section?
My code no longer compiles under Visual Studio (but it does via Clang on Linux). Specifically, because a library that I use takes the address of some temporaries, I pass in the following arguments:
If I compile the 5.3 version of my project w/ Visual Studio (tried both latest MSVC and 14.38-17.8), this works fine, and if I compile the 5.4 version on Linux, it also works fine. Otherwise, however, I get C++ compliance errors for taking the address of temporaries. The other warnings seem to disable just fine, but the permissive C++ compliance doesn’t seem to go through. I also tried setting the BuildSettings to V4, and that didn’t fix it either. I am using the pre-built version of Unreal 5.4.1.
UPD Solution - its required to override GetInstanceMemorySize/InitializeMemory/CleanupMemory to inherit from BTCompositeNode in UE5.4, after that commit
It’s super annoying. I often return code instead of commenting out the lines after. I think the compiler will strip it away anyway and it’s just a warning which UE promotes to an error.
Can I somehow disable it everywhere?
For now I just disabled it in the relevant headers above the includes with:
Hi! Does anybody know how can be fixed following error?
0>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" TacticalEditor Win64 DebugGame -Project="C:\Projects\Tactical\Tactical.uproject" -WaitMutex
0>Log file: C:\Users\Fenyx\AppData\Local\UnrealBuildTool\Log.txt
0>Using 'git status' to determine working set for adaptive non-unity build (C:\Projects\Tactical).
0>Invalidating makefile for TacticalEditor (working set of source files changed)
0>Warning: C:\Projects\Tactical\Tactical.uproject does not list plugin 'MovieRenderPipeline' as a dependency, but module 'Tactical' depends on 'MovieRenderPipelineCore'.
0>Parsing headers for TacticalEditor
0> Running Internal UnrealHeaderTool C:\Projects\Tactical\Tactical.uproject C:\Projects\Tactical\Intermediate\Build\Win64\TacticalEditor\DebugGame\TacticalEditor.uhtmanifest -WarningsAsErrors -installed
0>Total of 0 written
0>Reflection code generated for TacticalEditor in 4.1207242 seconds
0>Building TacticalEditor...
0>Using Visual Studio 2022 14.38.33138 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
0>[Upgrade]
0>[Upgrade] Using backward-compatible include order. The latest version of UE has changed the order of includes, which may require code changes. The current setting is:
0>[Upgrade] IncludeOrderVersion = EngineIncludeOrderVersion.Oldest
0>[Upgrade] Suppress this message by setting 'IncludeOrderVersion = EngineIncludeOrderVersion.Latest;' in TacticalEditor.Target.cs.
0>[Upgrade] Alternatively you can set this to 'EngineIncludeOrderVersion.Latest' to always use the latest include order. This will potentially cause compile errors when integrating new versions of the engine.
0>[Upgrade]
0>[Adaptive Build] Excluded from Tactical unity file: GlobalMapParty.cpp, TacticalCharacter.cpp, TacticalCharacterPlayer.cpp, NearestEnemyPlayerContext.cpp, CharacterAttributesComponent.cpp, EquipmentComponent.cpp, PartyAttributesComponent.cpp, CharacterAttributes.cpp, TacticalBattleAiManager.cpp, TacticalBattleManager.cpp, BaseArmor.cpp, Placeable.cpp, TrainningYard.cpp
0>Determining max actions to execute in parallel (12 physical cores, 16 logical cores)
0> Executing up to 12 processes, one per physical core
0> Requested 1.5 GB memory per action, 2.2 GB available: limiting max parallel actions to 1
0>Using Parallel executor to run 9 action(s)
0>------ Building 9 action(s) started ------
0>[1/9] Compile [x64] Module.Tactical.20.cpp
0>[2/9] Compile [x64] Module.Tactical.21.cpp
0>[3/9] Compile [x64] Module.Tactical.22.cpp
0>ImplicitObjectScaled.h(1129): Error C2760 : syntax error: 'const' was unexpected here; expected 'expression'
0>ImplicitObjectScaled.h(1129): Reference : error recovery skipped: 'const'
0>ImplicitObjectScaled.h(1129): Error C2065 : 'ScaledImplicit': undeclared identifier
0>ImplicitObjectScaled.h(1129): Error C2903 : 'GetObjectW': symbol is neither a class template nor a function template
0>ImplicitObjectScaled.h(1129): Error C3878 : syntax error: unexpected token '(' following 'expression'
0>ImplicitObjectScaled.h(1129): Reference : error recovery skipped: '('
0>ImplicitObjectScaled.h(1129): Error C2760 : syntax error: ')' was unexpected here; expected 'statement'
0>ImplicitObjectScaled.h(1129): Error C3878 : syntax error: unexpected token ')' following 'selection_statement'
0>ImplicitObjectScaled.h(1129): Reference : error recovery skipped: ')'
0>ImplicitObjectScaled.h(1131): Error C2065 : 'ScaledImplicit': undeclared identifier
0>ImplicitObjectScaled.h(1132): Error C2065 : 'ScaledImplicit': undeclared identifier
0>ImplicitObjectScaled.h(1133): Error C2065 : 'ScaledImplicit': undeclared identifier
0>ImplicitObjectScaled.h(1135): Error C3878 : syntax error: unexpected token 'else' following 'statement_seq'
0>ImplicitObjectScaled.h(1135): Reference : missing one of: '}' ?
0>ImplicitObjectScaled.h(1135): Reference : error recovery skipped: 'else if ( . . . ;'
0>ImplicitObjectScaled.h(1139): Reference : parsing resumes here
type or paste code here
It’s a last one migration issue and have no clue how to fix it :*(
UPD Solution - its required to override GetInstanceMemorySize/InitializeMemory/CleanupMemory to inherit from BTCompositeNode in UE5.4, after that commit
even if no custom memory required you should override those methods to work