IL2CPP ライブラリの静的リンク

Unityのビルドでライブラリの静的リンクはプラットフォームによって出来たり出来なかったりですが、IL2CPPに渡すオプションを追加すると任意のライブラリを強制的にリンクすることが出来ます。

IL2CPPに渡すオプションを追加するにはPlayerSettingsクラスがひそかに持つ SetAdditionalIL2CppArgs を使います。

IL2CPPは「–additional-libraries」オプションでリンクするライブラリを追加指定出来るようになっているので、下記の様にしてオプションを追加します。

// Assets/StaticLib.libをリンクする
PlayerSettings.SetAdditionalIl2CppArgs("--additional-libraries=" + Application.dataPath + "/StaticLib.lib");

複数のライブラリを指定する場合はカンマで区切ります。

ちなみにライブラリの静的リンク同様、プラットフォームによって出来たり出来なかったりするCPPファイルをネイティブプラグイン化する方法も「–additional-cpp」オプションで強制的に実現することが出来ます。

// Assets/Native.cpp をビルドに含める
PlayerSettings.SetAdditionalIl2CppArgs("--additional-cpp=" + UnityEngine.Application.dataPath + "/Native.cpp");