状況
FGenericPlatformMisc::ClipboardCopy または FGenericPlatformMisc::ClipboardPaste を使用している場合、UE4-4.18 以降で API の仕様変更に伴う警告が翻訳時に発生する。
warning C4996: 'FGenericPlatformMisc::ClipboardCopy': FPlatformMisc::ClipboardCopy() has been superseded by FPlatformApplicationMisc::ClipboardCopy() Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
warning C4996: 'FGenericPlatformMisc::ClipboardPaste': FPlatformMisc::ClipboardPaste() has been superseded by FPlatformApplicationMisc::ClipboardPaste() Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
必要な修正
実装クラスが変更されただけではなく、変更先のヘッダーが CoreMinimal.h に含まれていない点、加えて実装クラスが提供されるモジュールも独立しているためモジュールの追加も必要となる点に注意。
FGenericPlatformMiscをFPlatformApplicationMiscに置き換える。HAL/PlatformApplicationMisc.hを include 追加。<project>.Build.csでApplicationCoreモジュールを追加。
something.cpp:
// ... #include "HAL/PlatformApplicationMisc.h" // ... // copy to clipboard FString hoge = TEXT( "hoge" ); // old FGenericPlatformMisc::ClipboardCopy( *hoge ); // new FPlatformApplicationMisc::ClipboardCopy( *hoge ); // ... // paste from clipboard FString hoge; // old FGenericPlatformMisc::ClipboardPaste( hoge ); // new FPlatformApplicationMisc::ClipboardPaste( hoge );
<project>.Build.cs:
PublicDependencyModuleNames.AddRange
( new string[]
{ // ...
, "ApplicationCore"
// ...
}
);