Linux and PS5 report warning when compiling in MDViewModelProvider_Cached

#4 · closed · 2 comments

View on GitHub ↗

Maxproz

Only PS5 Test and Linux. When compiling on other platforms the warning is not hit. Issue repros as of CL 39d3bb4 Dec 4 . . `@progress 'Compiling C++ source files...' 24% In file included from ../../ShooterGame/Intermediate/Build/PS5/x64/ShooterGame/Test/MDViewModel/Module.MDViewModel.1_of_2.cpp:22: In file included from .\../../ShooterGame/Intermediate/Build/PS5/ShooterGame/Inc/MDViewModel/UHT/MDViewModelProvider_Cached.gen.cpp:8: D:\ShooterGame\Plugins\MDViewModel\Source\MDViewModel\Public\ViewModelProviders\MDViewModelProvider_Cached.h(117,24): warning: 'ViewModelLifetime' is deprecated: The lifetime enum is deprecated, use ViewModelLifetimeTag instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] struct MDVIEWMODEL_API FMDViewModelProvider_Cached_Settings ^ D:\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(1324,19): note: in implicit copy assignment operator for 'FMDViewModelProvider_Cached_Settings' first required here *TypedDest++ = *TypedSrc++; [20/84] Compile Module.MDViewModel.1_of_2.cpp ^ D:\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(1159,3): note: in instantiation of member function 'UScriptStruct::TCppStructOps<FMDViewModelProvider_Cached_Settings>::Copy' requested here TCppStructOps() ^ D:\ShooterGame\Intermediate\Build\PS5\ShooterGame\Inc\MDViewModel\UHT\MDViewModelProvider_Cached.gen.cpp(323,45): note: in instantiation of member function 'UScriptStruct::TCppStructOps<FMDViewModelProvider_Cached_Settings>::TCppStructOps' requested here return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FMDViewModelProvider_Cached_Settings>(); ^ D:\ShooterGame\Plugins\MDViewModel\Source\MDViewModel\Public\ViewModelProviders\MDViewModelProvider_Cached.h(134,2): note: 'ViewModelLifetime' has been explicitly marked deprecated here UE_DEPRECATED(All, "The lifetime enum is deprecated, use ViewModelLifetimeTag instead.") ^ D:\Engine\Source\Runtime\Core\Public\Misc\CoreMiscDefines.h(259,43): note: expanded from macro 'UE_DEPRECATED' #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]] `

Comments

Maxproz

Ah! the constructors! I tried moving that macro around to a couple different spots.

DoubleDeez

The warnings have been bothering me for months, but your error log helped me realize the implicit functions are subject to the deprecations.