我正在为iOS8模拟器构建Unity项目。为模拟器移动Xcode 6 GM导致此链接器错误。不确定我是否遗漏了构建中的某些内容或者某些内容已损坏。有什么建议?完整的错误是:
架构i386的未定义符号: “_clock $ UNIX2003”,引自: libiPhone-lib.a中的_substanceHandleSwitchHard(apihandle.o) libiPhone-lib.a中的_mainRenderProcess(mainrenderprocess.o) ld:找不到架构i386的符号
退出代码1
答案 0 :(得分:8)
在main.mm
的末尾添加以下内容。
#include <time.h>
extern "C"
{
clock_t
clock$UNIX2003(void)
{
return clock();
}
}
答案 1 :(得分:3)
clock $ UNIX2003是OS X提供的符号,不是iOS Simulator运行时的一部分。 iOS 总是符合,因此没有遗留(非$ UNIX2003)函数变体(提供与针对旧版OS X SDK构建的代码的二进制兼容性)。
您遇到的问题的常见原因是您有一个针对OS X SDK构建的目标文件或存档(libsomething.a),并且正在尝试将其链接到您的iOS Simulator可执行文件中。这是不受支持的,因为这两个平台在该层不是二进制兼容的。
您需要针对iOS模拟器SDK重建库(libsomething.a)。