C# 导入Tango SDK构建Unity PC独立项目时出现编译错误
各位下午好C# 导入Tango SDK构建Unity PC独立项目时出现编译错误,c#,android,unity3d,unity5,google-project-tango,C#,Android,Unity3d,Unity5,Google Project Tango,各位下午好 (我已经搜索了一个公平的问题来回答这个问题,但它似乎是一个罕见的场景,或者我的谷歌FU没有达到标准。道歉如果答案是显而易见的,在另一个线程中,如果你能指引我,我就在我的路上)。 问题是: 在项目中导入TangoSDK时,似乎不可能从Unity构建PC独立应用程序,即使构建中包含的场景不使用任何Tango资产 (版本:Unity 5.5.1、TangoSDK-Hopak、Windows 10) 复制问题的步骤: 创建一个空的Unity项目 导入TangoSDK Unity软件包(经Ei
(我已经搜索了一个公平的问题来回答这个问题,但它似乎是一个罕见的场景,或者我的谷歌FU没有达到标准。道歉如果答案是显而易见的,在另一个线程中,如果你能指引我,我就在我的路上)。 问题是:
在项目中导入TangoSDK时,似乎不可能从Unity构建PC独立应用程序,即使构建中包含的场景不使用任何Tango资产 (版本:Unity 5.5.1、TangoSDK-Hopak、Windows 10) 复制问题的步骤: public static ScreenOrientation GetScreenOrientation()
{
#if (UNITY_EDITOR || UNITY_STANDALONE_OSX)
if (Screen.width > Screen.height)
{
return ScreenOrientation.LandscapeLeft;
}
else
{
return ScreenOrientation.Portrait;
}
#elif (UNITY_IPHONE || UNITY_ANDROID)
return Screen.orientation;
#else
#error not supported platform
#endif
}
第一次平台检查没有包括UNITY_STANDALONE_WIN(Windows平台),因此导致了错误。更换线路
#if (UNITY_EDITOR || UNITY_STANDALONE_OSX)
与
修复了最初的错误,但总的来说问题仍然存在:抛出错误的每一行要么在Tango库中,要么正在使用Tango库,而这些脚本根本不应该被调用,因为我基本上是在构建一个空场景。默认情况下,所有Unity构建中是否包含任何与android相关的脚本?这可能会帮助我缩小搜索范围
那么,有没有办法将任何与android相关的脚本从应用程序中排除
建造
是
首先,这应该是制作TangoSDK的人的工作。他们可能忘了做那件事。我建议你联系他们并报告这个问题
解决方法是修改TangoSDK,并使用Unity的平台指令自行修复,直到它们修复为止
切换到“PC Mac&Linux单机版”以显示错误。尝试构建它以显示错误。在编辑器中双击每个错误的代码行,然后将其放入下面的代码中:
#if UNITY_ANDROID || UNITY_IOS
//PUT THAT LINE OF CODE THAT IS CAUSING THE ERROR HERE
#endif
因为TangoSDK支持iOS,所以我也添加了iOS。如果因为所有错误而这样做,您应该不会有任何问题。谢谢@Programmer的建议,尽管它不起作用。它确实有助于解决当前的问题,但这只会让构建过程继续进行编译,并且不同的脚本会出现更多的错误。我仍然相信问题在于首先调用的脚本/函数。话虽如此,据我所知,你的建议有助于突出一个不同的(相关的)问题(见OP编辑),这是实现这一点的唯一方法。我建议您重新开始使用一个新的TangoSDK,但这次,将每个脚本包装在TangoSDK中,放入
#if UNITY_ANDROID | | UNITY_IOS
和#endif
中。每个脚本中的每一个代码。这个答案帮助我指出了正确的方向,结果是有一些恶意的触摸屏主板请求导致了这个问题。谢谢Prog!
#if UNITY_ANDROID || UNITY_IOS
//PUT THAT LINE OF CODE THAT IS CAUSING THE ERROR HERE
#endif