Weird bug when creating or opening c++ projects

I started to get an error when trying to open c++ projects after instaling unreal engine 5.5 and MSVC (The log said the previous version I was using got banned), I’m not sure if it is related to the update but i’m sure it was not happening before (It’s happening in all unreal engine versions). if you know the solution, please help me

Hi @Vinipiterson,

That sounds like you need to upgrade your Toolchain. I had a similar error popup. I upgraded my Visual Studio to the latest version and it worked fine after that. I think MSVC 14.40 and a few below are banned.

Some compiler notes that may indicate the cause

Note that __has_feature and __has_extension are not recommended for use in new code, and are only provided for compatibility with Clang. For details of which identifiers are accepted by these function-like macros, see the Clang documentation.

So maybe with 5.5 there have been some updates that depreciate the use of __has_feature

Try updating your msvc to a newer version if yours is no longer seen as ok.

Also take note of the warning in your solution

obraz

Usually installing components fixes sudden weird errors like this.
It should update / install missing dependencies.

Thank you so much! I completely reinstalled visual studio following Setting Up Visual Studio Development Environment for C++ Projects in Unreal Engine | Unreal Engine 5.0 Documentation | Epic Developer Community and downloaded the components visual studio asked about and it worked.

I encountered the same problem, uninstall “C++ AddressSanitizer” solve my problem.

7 Likes

I think the intent of the engine’s ConcurrentLinearAllocator.h where this error is occurring (excerpt below) is __SANITIZE_ADDRESS__ should be defined if MSVC has the C++ AddressSanitizer installed (per AddressSanitizer language, build, and debugging reference | Microsoft Learn). However, perhaps UBT isn’t defining /fsanitize=address (I haven’t dived deeper).

#if PLATFORM_HAS_ASAN_INCLUDE
#include <sanitizer/asan_interface.h>
#if defined(__SANITIZE_ADDRESS__)
#define IS_ASAN_ENABLED 1
#elif __has_feature(address_sanitizer)
#define IS_ASAN_ENABLED 1
#else
#define IS_ASAN_ENABLED 0
#endif
#else
#define ASAN_POISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
#define ASAN_UNPOISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
#define IS_ASAN_ENABLED 0
#endif

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.