我正在开发一个Unity Pro项目,该项目使用Cardboard SDK为iPhone制作应用程序。我已按照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 ,它是 libiontext 。)。不知何故,构建脚本在中间剥离了'bi'。这种情况发生在许多其他库中。见截图。
错误日志:
实际图书馆:
问题是,如果有一种方法可以手动编辑名称,或者使构建通过此错误。我已经尝试在Unity中多次构建项目,但同样的情况也是如此。另外,我已经将我的VR应用程序发布到Play商店,但Xcode使得在App Store上无法做到这一点。
感谢任何帮助。
答案 0 :(得分:3)
之所以发生这种情况,是因为在XCode项目的搜索路径中有一些拼写错误的拼写错误。检查您的XCode项目的构建设置,查找搜索路径,在库编写路径中编写
//: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
答案 1 :(得分:0)
首先尝试删除并重新导入所有这4个库。但如果这个问题仍然存在,那么,
最愚蠢和最简单的解决方案之一是将所有四个lib *文件重命名为l *。例如libiontext.a
到liontext.a
我知道这是非常奇怪的解决方案,但它有效:)