我正试图在Xcode中构建DemoScene of Google Cardboard SDK for Unity,以运行我的iPhone 6 Plus。
但是它不起作用,虽然我可以让它在联合和Android上工作。
有人试过成功吗?任何建议都是受欢迎的。
错误消息如下。
Undefined symbols for architecture armv7:
"_InitFromUnity", referenced from:
RegisterMonoModules() in RegisterMonoModules.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)发布于 2014-12-12 15:19:11
()只适用于Android。
发布于 2014-12-30 18:25:14
虽然联合插件确实不支持iOS,但它仍然不应该不编译。问题似乎是对未实际包含在包中的DLL的一些错误引用(可能是Google团队内部使用的?)。
我有一个项目,我想要Android的Cardboard插件,但也需要支持其他平台(使用其他输入模式),我黑出了这样的解决方案:
在Cardboard/脚本/Cardboard.cs中,更改这组行..。
#if UNITY_IPHONE && !UNITY_EDITOR
[DllImport("__Internal")]
#else
[DllImport("RenderingPlugin")]
#endif
private static extern void InitFromUnity(int textureID);...to这个..。
#if UNITY_IPHONE && !UNITY_EDITOR
private static void InitFromUnity(int textureID) {}
#else
[DllImport("RenderingPlugin")]
private static extern void InitFromUnity(int textureID);
#endif最终结果应该是一个虚拟函数,它不连接到DLL,而不是连接到不存在的DLL的外部函数。Cardboard插件仍然不能在iOS上工作,但是您可以再次编译,而不必完全从项目中删除它。
也许将来谷歌可以纠正这个问题(不确定报告的合适地点是.?)甚至添加iOS支持(如果我们幸运的话)。
干杯。
发布于 2015-02-16 19:56:02
只需使用杜洛维斯统一插件。它在iOS中运行得非常好。只需评论两行,其中引用了一些特定于Android的内容。只需构建一个run,您就会看到您必须注释掉哪些行。
你可以在这里找到它:http://www.durovis.com/sdk.html
https://stackoverflow.com/questions/27441073
复制相似问题