I’ve been having an issue moving from 4.10 to 4.11 in my project. Whenever I make a copy and convert that copy for 4.11, it fails compilation, giving me the error “Implicit instantiation of undefined template ‘TMap< FName, int, FDefaultSetAllocator, TDefaultMapKeyFuncs< FName, int, false > >’”. Here is a snippet of the code from the engine source that is supposedly causing this error:
#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
#define DO_BLUEPRINT_GUARD 1
#endif
#if DO_BLUEPRINT_GUARD
/**
* Helper struct for dealing with Blueprint exceptions
*/
struct CORE_API FBlueprintExceptionTracker : TThreadSingleton<FBlueprintExceptionTracker>
{
FBlueprintExceptionTracker()
: Runaway(0)
, Recurse(0)
, bRanaway(false)
, ScriptEntryTag(0)
{}
void ResetRunaway();
public:
// map of currently displayed warnings in exception handler
TMap<FName, int32> DisplayedWarningsMap;
// runaway tracking
int32 Runaway;
int32 Recurse;
bool bRanaway;
// Script entry point tracking
int32 ScriptEntryTag;
// Stack names from the VM to be unrolled when we assert
TArray<FScriptTraceStackNode> ScriptStack;
};
#endif // DO_BLUEPRINT_GUARD
Based on the “#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)” preprocessor, I decided to try compiling, from Xcode, in the shipping build, and that fixed the issue. However, I still have the issue in non-shipping builds. I’ve tried creating a new, empty project, and that compiled just fine. I tried adding my assets/code/etc. to the empty project from my other project one piece at a time, and it worked until I added the code. I believe that something, somewhere in my code is breaking in 4.11, but the error message I’m getting won’t tell me where. I tried compiling the engine from source, removing that snippet of code, but I ran into another issue with an assertion that I don’t quite remember the details of at this moment. This issue is present even when I remove all content from my project, so I don’t believe it is caused by any blueprints, unless perhaps it is a level blueprint or something to that extent.
This issue is present on Windows, as well.