【UE5】DEBUG用のプリプロセッサディレクティブ【C++】

この記事は約2分で読めます。

#ifdef DEBUG とかの。”DEBUG”というシンボルは定義されていないようなので、UE5はどう書くべきなのか?ググって解決。

How can I use "#ifdef DEBUG"?
Hi, I would like to use #ifdef DEBUG in my code. I know that it supports #ifdef now based on a post I found but I can’t ...

#ifdef UE_BUILD_DEBUG

DEBUGの代わりはUE_BUILD_DEBUGを使えばいい。
他にもあった。

Why is UE_BUILD_DEBUG never defined?
I’m trying to make a nice little build string to easily tell builds apart. Part of that is wanting to put the type of bu...

タイトルが意味不明なんだが(ソリューション構成が変わっていただけの話なのか?)、中身は素晴らしかった。
他にも次のものがある。

UE_BUILD_DEBUG
UE_BUILD_DEVELOPMENT
UE_BUILD_TEST
UE_BUILD_SHIPPING

UKismetSystemLibrary::GetBuildConfiguration()を使えば実行時にどのビルドなのかも分かるらしい。UKismetSystemLibraryじゃなくて、C++からなら他のもあるはず。

MyGame.Target.cs で設定することもできるらしい。

switch (Target.Configuration)
{
case UnrealTargetConfiguration.Debug:        ProjectDefinitions.Add(“MYGAME_BUILD_DEBUG=1”);
  break;
... etc

まあでもUE_BUILD_DEBUG以外は使わないだろう。わざわざTarget.csでどうこうすることもないはず。

コメント

  1. […] 以前は、【UE5】DEBUG用のプリプロセッサディレクティブ【C++】について書いたが、今回はサーバーの時はコンパイルしない、というのが必要になった。久々にサーバーでちゃんと動くのかな?と気になって、考えてみたらビルドできるわけがないな、となった。案の定、エラーが出た。 […]

タイトルとURLをコピーしました