我正试图在Unity5.4中用安卓IL2CPP的Facebook插件构建我们的团结游戏(Android IL2CPP现在得到了官方的支持)。
生成失败,一个示例链接错误:
Temp/StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity_0.cpp:16129: error: undefined reference to 'IOSInit'
还有其他人试过这个吗?建议?
我不知道Facebook的人们是否已经尝试过Android Il2CPP :)但如果没有,请考虑投票支持它。为了改善安卓/iOS运行时的兼容性和性能/混淆,我们肯定计划改用IL2CPP。
发布于 2016-09-07 12:04:30
简单明了的回答:您正在尝试将iOS代码与Android :)联系起来:)尝试将iOS插件排除在构建之外,例如,在Unity检查器中设置平台复选框。
更多细节
最有可能的是,插件有一些代码可以使用iOS调用特定于PInvoke的函数。这个电话很可能被
if (Application.platform == RuntimePlatform.iPhonePlayer)
因此,它实际上并不是在其他平台上调用的。
这对Mono很有效。但是在构建IL2CPP时,统一将所有托管代码转换为C++源代码,编译并链接它。链接时,需要定义被调用的iOS函数--这在构建IL2CPP时失败。
解决方案是将此代码排除在生成之外。如果您有源代码,请用
#if UNITY_IOS
如果您没有源代码,请尝试将不需要的程序集排除在生成之外。
与此同时,我会联系Facebook的人,并要求修复它。
https://stackoverflow.com/questions/39215505
复制相似问题