2

我正在开发一个使用 Cardboard SDK 为 iPhone 制作应用程序的 Unity Pro 项目。我已按照Cardboard Getting Started for IOS页面上的所有说明进行操作。

我的问题是在我的 Mac 上将项目导入 Xcode 时出现的。构建失败:

ld: library not found for -liontext
(null): Linker command failed with exit code 1 (use -v to see invocation)

检查日志时,我发现对包含库的所有调用都拼写错误(不是liontext,而是libion​​text。)。不知何故,构建脚本剥离了“bi”在中间这发生在许多其他库中。请参阅屏幕截图。

错误日志: 在此处输入图像描述

实际库: 在此处输入图像描述

问题是是否有办法我可以以某种方式手动编辑名称,或者使构建通过此错误。我已经尝试在 Unity 中多次构建该项目,但同样的情况发生了。另外,我已经在 Play Store 上发布了我的 VR 应用程序,但是 Xcode 让我无法在 App Store 上做同样的事情。

任何帮助表示赞赏。

4

2 回答 2

3

发生这种情况是因为在 XCode 项目中其搜索路径中的 unity 拼写错误。检查您的 XCode 项目的构建设置,查找搜索路径,在 Library Search Paths 中写入

//:configuration = Debug
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries\Standard Assets/Plugins/iOS"

//:configuration = Release
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries\Standard Assets/Plugins/iOS"

//:completeSettings = some
LIBRARY_SEARCH_PATHS

在此处输入图像描述

寻找反斜杠'\',用斜杠'/'替换它并尝试重建你的项目,这解决了我的问题。

它应该是这样的:

//:configuration = Debug
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries/Standard Assets/Plugins/iOS"

//:configuration = Release
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries/Standard Assets/Plugins/iOS"

//:completeSettings = some
LIBRARY_SEARCH_PATHS
于 2016-01-08T02:55:04.747 回答
0

首先尝试删除并重新导入所有这 4 个库。但是如果这个问题仍然存在的话,

最愚蠢和最简单的解决方案之一是将所有四个 lib* 文件重命名为 l*。例如libiontext.aliontext.a

我知道这是非常奇怪的解决方案,但它有效:)

于 2016-01-08T05:21:01.520 回答