我正在为 Unity3D 使用 fmod 插件。编译到 Windows 和 OSX 很好,因为我可以动态加载 DLL/dylib。当我为 iOS 编译时,问题就来了。我用
[DllImport("__Internal")]
因为 iOS 需要静态链接库。当我编译虽然我得到一个
SystemException: Duplicate native method found : FMOD_System_CreateSound. Please check your source carefully.
我很确定我没有复制这个符号。我认为这可能是因为 Unity 自己导入 FMOD 并且两者可能会发生冲突……但如果是这种情况,我很惊讶 FMOD_System_CreateSound 是第一个被抓住的。有没有解决的办法?谢谢!
与往常一样,我很乐意提供任何其他详细信息!
这是一个会导致错误的示例项目: Sample Unity Project with FMod
编辑:冲突是由于 iOS 不允许函数具有相同的名称,即使它们没有相同的签名。删除同名函数后(从而删除了一些我不需要的 FMOD 功能),我可以编译到 iOS,但正如预期的那样,我在初始化时仍然收到错误,因为 FMOD 已经被 Unity 初始化。