I'm having problems building 3.8 on Mac after upgrading from 3.7. It seems like the compiler is stricter on Mac than on Windows (the same code builds successfully there).
[2/7] Compile Module.SpinePlugin.cpp
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:8:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonDataAsset.cpp:235:16: warning: declaration shadows a field of 'USpineSkeletonDataAsset' [-Wshadow]
SkeletonData* skeletonData = nullptr;
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineSkeletonDataAsset.h:95:23: note: previous declaration is here
spine::SkeletonData* skeletonData;
^
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:25:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:39:11: error: use of undeclared identifier 'Constraint'; did you mean 'IkConstraint'?
RTTI_IMPL(Constraint, Updatable)
^~~~~~~~~~
IkConstraint
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/RTTI.h:71:19: note: expanded from macro 'RTTI_IMPL'
const spine::RTTI name::rtti(#name, parent::rtti); \
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/Skeleton.h:50:7: note: 'IkConstraint' declared here
class IkConstraint;
^
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:25:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:39:11: error: use of undeclared identifier 'Constraint'; did you mean 'IkConstraint'?
RTTI_IMPL(Constraint, Updatable)
^~~~~~~~~~
IkConstraint
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/RTTI.h:72:20: note: expanded from macro 'RTTI_IMPL'
const spine::RTTI& name::getRTTI() const { return rtti; }
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/Skeleton.h:50:7: note: 'IkConstraint' declared here
class IkConstraint;
^
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:25:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:41:1: error: use of undeclared identifier 'Constraint'; did you mean 'IkConstraint'?
Constraint::Constraint() {
^~~~~~~~~~
IkConstraint
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/Skeleton.h:50:7: note: 'IkConstraint' declared here
class IkConstraint;
^
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:25:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:41:13: error: missing return type for function 'Constraint'; did you mean the constructor name 'IkConstraint'?
Constraint::Constraint() {
^~~~~~~~~~
IkConstraint
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:41:13: error: out-of-line definition of 'IkConstraint' does not match any declaration in 'spine::IkConstraint'
Constraint::Constraint() {
^~~~~~~~~~
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:41:13: error: constructor for 'spine::IkConstraint' must explicitly initialize the reference member '_data'
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/IkConstraint.h:103:20: note: declared here
IkConstraintData &_data;
^
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:25:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:44:1: error: use of undeclared identifier 'Constraint'; did you mean 'IkConstraint'?
Constraint::~Constraint() {
^~~~~~~~~~
IkConstraint
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/Skeleton.h:50:7: note: 'IkConstraint' declared here
class IkConstraint;
^
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:25:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:44:14: error: expected the class name after '~' to name a destructor
Constraint::~Constraint() {
^~~~~~~~~~
IkConstraint
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:34:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/IkConstraint.cpp:44:1: error: redefinition of 'rtti'
RTTI_IMPL(IkConstraint, Updatable)
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/RTTI.h:71:25: note: expanded from macro 'RTTI_IMPL'
const spine::RTTI name::rtti(#name, parent::rtti); \
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:39:1: note: previous definition is here
RTTI_IMPL(Constraint, Updatable)
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/RTTI.h:71:25: note: expanded from macro 'RTTI_IMPL'
const spine::RTTI name::rtti(#name, parent::rtti); \
^
In file included from /Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Intermediate/Build/Mac/UE4Editor/Development/SpinePlugin/Module.SpinePlugin.cpp:34:
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/IkConstraint.cpp:44:1: error: redefinition of 'getRTTI'
RTTI_IMPL(IkConstraint, Updatable)
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/RTTI.h:72:26: note: expanded from macro 'RTTI_IMPL'
const spine::RTTI& name::getRTTI() const { return rtti; }
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/src/spine/Constraint.cpp:39:1: note: previous definition is here
RTTI_IMPL(Constraint, Updatable)
^
/Users/justincook/UE4/Projects/PoppyAndBuddy/Plugins/SpinePlugin/Source/SpinePlugin/Public/spine-cpp/include/spine/RTTI.h:72:26: note: expanded from macro 'RTTI_IMPL'
const spine::RTTI& name::getRTTI() const { return rtti; }
^
1 warning and 10 errors generated.
How do you resolve this? Can I set a compiler flag somewhere? Will that affect deployment to the App Store later on?