Light743
(Light743)
1
いつもお世話になっております。
題名の通りでC++でインターフェースを作ろうとアンリアルの公式ドキュメント等を見て作ろうとしたのですが
いくつか問題があったので質問させていただきます。
・エディター内で右クリックからC++コード生成で親クラスにInterfaceが無い
・最初はからのクラスをエディターから生成して作ろうとしても.generated.hがない
公式ドキュメントを見ると最初から.generated.hをインクルードしているみたいなのでたぶん親クラスを選ぶ時点であると思うのですが見つからないですし
最初から作ろうにも.generated.hがないので動かない
(.generated.hを生成するツールがあるみたいなのですがどこにもこれを使ったやり方は見つかりませんでした)
どなたかご存知の方がいらっしゃいましたら教えていただけると幸いです。
よろしくお願いいたします。
alwei
(alwei)
2
最初にParent Classを指定する際に『None』を選んでクラス作成をします。その方法で自動的に必要なものはインクルードされます。あとは通常のインターフェースを作成する場合と同様です。
以下は公式ドキュメントです。
英語での解説ですが、こちらも参考になります。
最後に日本語で質問する際にはJapaneseセクションで質問することをお勧めします。日本人がこの回答を見つけやすくなりますので。
空のクラスをエディターから生成して作ろうとしても.generated.hがない
アンリアル ビルド システムの設定によると、
.generated.hは「通常のC++コンパイラが実行される前」にUnrealHeaderToolによって自動生成されます。
よって.generated.hは最初からあるものではなく、C++コードをビルド(UE4上の「コンパイル」、またはVisualStudioの「ソリューションのビルド」等)することによって生成されます。生成されたファイルはプロジェクトのIntermediateディレクトリ内にあり、これをインクルードしています。
また、クラスを指定してC++コードを作成すると.generated.hをインクルードする記述はデフォルトでありますが、空のクラスで生成した場合は記述がないので、自身で追加する必要があります。