割とハマってしまい、色々調べた為、自分へのメモも兼ねて、Qita記事を残しておきたいと思います。
発生環境
UnrealEngine 4.26
エラーが発生
UnrealEngineのプラグインを書いていた時の事です。
以下のビルドエラーが発生しました。
ヘッダーファイルの名前から分かる通り、DirectX系のファイルのリンクエラーとなります。
その上、発生しているファイルは、作成しているプラグイン内ではなく、エンジンコードでした。
Cannot open include file: 'fbxsdk.h': No such file or directory
調査開始
調査したところ、Epic Games Launcherからインストールしているエンジンには、DirectX系のライブラリは、パッケージジングされており、新しく追加したC++のソースコードをビルドする際には含まれない事が分かりました。
対応方法
1.Githubのエンジンをビルドする
Githubで公開されているエンジンは、ビルドが必要である為、パッケージングされていません。
その為、追加したC++をビルドする際にインポートされます。
2.FBXモジュールを追加する
4.19のバージョンから、DirectX系のライブラリ用のモジュールが用意されました。
PrivateDependencyModuleNamesに、FBXモジュールを追加する事で、DirectX系のライブラリがインポートできます。
PrivateDependencyModuleNames.Add("FBX");
ローレベルな事をやっているコードを使用する時に発生するかもしれません。
私の場合は、FbxImporterで発生しました。
参考URL