After downloading a fresh copy of NoesisGUI (NoesisGUI-UE5.3-3.2.2-Indie) to my Mac (M3, macOS 14.2.1, Xcode 15.2), I am unable to open the samples.uproject file with Unreal Engine 5.3.2.
First, Unreal gives me a warning dialog stating "Missing Sample Modules. The following modules are missing or built with a different engine version: DatabindingModule...NoesisEditor. Would you like to rebuild them now?" after clicking Yes to that, Unreal says "Error. Samples could not be compiled. Try rebuilding from source manually." and then closes.
I tried using the "Generate Xcode Project" from the context menu but that did nothing which seems to be an Unreal issue not Noesis. I was able to generate the project files from the terminal. I then tried to build the Samples project directly from Xcode but that failed as well. With the following three errors:
Code: Select all
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:35:
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/component.cpp:11:12: error: reference to 'Component' is ambiguous
StatusCode Component::onAddedDirty(CoreContext context)
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:187:41: note: candidate found by name lookup is 'Component'
typedef ComponentRecord Component;
^
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/include/rive/shapes/paint/shape_paint_mutator.hpp:6:7: note: candidate found by name lookup is 'rive::Component'
class Component;
^
Code: Select all
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:217:
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/math/hit_test.cpp:21:8: error: redefinition of 'Point'
struct Point
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/MacTypes.h:538:8: note: previous definition is here
struct Point {
^
Code: Select all
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:238:
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/shapes/polygon.cpp:9:1: error: reference to 'Polygon' is ambiguous
Polygon::Polygon() {}
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/Headers/Quickdraw.h:267:41: note: candidate found by name lookup is 'Polygon'
typedef MacPolygon Polygon;
^
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/include/rive/shapes/polygon.hpp:9:7: note: candidate found by name lookup is 'rive::Polygon'
class Polygon : public PolygonBase
^
I am also able to run the Noesis Apple Native SDK Samples xcode project without these issues so I am not sure why they are coming up here. I guess Unreal brings in more Apple API headers than the Application framework.
To fix the above,
I changed Component to rive::Component in component.cpp.
I changed Point to RivePoint in hit_test.cpp
I changed Polygon to rive::Polygon in polygon.hpp
That finally fixed all the build errors and let me open the Samples.uproject in Unreal Engine on macOS. |