Unity3D 用の fmod プラグインを使用しています。DLL/dylib を動的にロードできるため、Windows および OSX へのコンパイルは問題ありません。問題は、iOS 用にコンパイルするときに発生します。私が使う
[DllImport("__Internal")]
iOS には静的にリンクされたライブラリが必要なためです。コンパイルすると、
SystemException: Duplicate native method found : FMOD_System_CreateSound. Please check your source carefully.
私はシンボルを複製しないと確信しています。これは、Unity 自体が FMOD をインポートしていて、2 つが衝突している可能性があることが原因ではないかと思います.しかし、これが事実である場合、FMOD_System_CreateSound が最初に引っかかることに驚いています。これを回避する方法はありますか?どうも!
いつものように、追加の詳細を提供させていただきます。
エラーの原因となるサンプル プロジェクトを次に示します。FMod を使用したサンプル Unity プロジェクト
編集: 競合は、iOS が同じ署名を持っていなくても関数に同じ名前を付けることを許可していないために発生しました。同じ名前の関数を削除した後 (つまり、不要な FMOD 機能をいくつか削除した後)、iOS にコンパイルできますが、FMOD は Unity によって既に初期化されているため、予想どおり、初期化時にエラーが発生します。