View Issue Details

IDProjectCategoryView StatusLast Update
0001950NoesisGUIC++ SDKpublic2021-05-04 02:36
ReporterTadinu Assigned Tojsantos  
PrioritynormalSeverityblock 
Status resolvedResolutionfixed 
Product Version3.0.11 
Target Version3.0.12Fixed in Version3.0.12 
Summary0001950: Compiling error on Linux as inheriting from UNoesisInstance
Description

I bumped into this compiling error as creating a UUIWidget class, inheriting from UNoesisInstance.

By including NoesisInstance.h, it complains as follows:

[2/28] Compile PCH.NoesisRuntime.h
[5/28] Compile Module.UI.gen.cpp
[6/28] Compile Module.UI.cpp
[7/28] Compile UIModule.cpp
[4/28] Compile PCH.NoesisBlueprint.h
[3/28] Compile PCH.NoesisEditor.h
In file included from UEProject/Plugins/UI/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/UI/Module.UI.cpp:3:
In file included from UEProject/Plugins/UI/Source/UI/Private/UIWidget.cpp:1:
In file included from UEProject/Plugins/UI/Source/UI/Public/UIWidget.h:6:
In file included from UEProject/Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisInstance.h:12:
In file included from Runtime/UMG/Public/Blueprint/UserWidget.h:15:
UnrealEngine/Engine/Source/Runtime/UMG/Public/Components/Widget.h:180:1: error: declaration shadows a variable in namespace 'Noesis' [-Werror,-Wshadow]
ENUM_CLASS_FLAGS(EWidgetDesignFlags);
^
UNREAL/UnrealEngine/Engine/Source/Runtime/Core/Public/Misc/EnumClassFlags.h:14:42: note: expanded from macro 'ENUM_CLASS_FLAGS'
inline constexpr Enum operator~ (Enum E) { return (Enum)~(__underlying_type(Enum))E; }
^
UEProject/Plugins/UI/ThirdParty/NoesisSDK/Include/NsCore/Math.h:38:13: note: previous declaration is here
const float E = 2.71828182845904523536028747135266249775724709369996f;

PlatformLinux

Activities

hcpizzi

hcpizzi

2021-04-19 14:18

developer   ~0007160

Hi,

This happens when you have an "using namespace Noesis;" because of a conflict between our float E and some macro expansion variables in UE4.

Is that the case?

Tadinu

Tadinu

2021-04-20 12:42

reporter   ~0007161

Oh I suppose so, probably I copied it from some tutorial sample, I then removed all "using namespace Noesis;" in the source. It compiles fine now.

Issue History

Date Modified Username Field Change
2021-03-26 15:15 Tadinu New Issue
2021-03-26 15:30 Tadinu Platform Any => Linux
2021-03-26 15:37 jsantos Assigned To => hcpizzi
2021-03-26 15:37 jsantos Status new => assigned
2021-03-26 15:37 jsantos Target Version => 3.0.12
2021-04-19 14:18 hcpizzi Status assigned => feedback
2021-04-19 14:18 hcpizzi Note Added: 0007160
2021-04-20 12:42 Tadinu Note Added: 0007161
2021-04-20 12:42 Tadinu Status feedback => assigned
2021-04-23 16:31 jsantos Assigned To hcpizzi => jsantos
2021-05-04 02:36 jsantos Status assigned => resolved
2021-05-04 02:36 jsantos Resolution open => fixed
2021-05-04 02:36 jsantos Fixed in Version => 3.0.12