将IOS项目迁移到Xcode 7.3.1(模拟器和IPad)后发生链接错误
- 我在旧的优胜美地机器上的Xcode 7.2上有IOS应用程序SWIFT项目,该工作正常,并且性能良好。
- 我有一个新的Mac上运行“酋长”和Xcode 7.3.1
- 我已经只复制迁移我的项目到新机: 项目文件夹,所有的外部库和框架,进口供应型材和钥匙
- 在将所有库引用到新文件夹结构后,我的项目不再有语法错误。
现在我建的项目,我得到以下错误:将IOS项目迁移到Xcode 7.3.1(模拟器和IPad)后发生链接错误
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_SSZipArchive", referenced from:
type metadata accessor for __ObjC.SSZipArchive in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我不知道如何去分析这个问题,这就是为什么我问这里。 有什么帮助吗?
我增加了一个小的项目在Xcode 7.3.1重现错误: https://drive.google.com/open?id=0BzTzuiIaUzqkeTNrQTZkdGxrUnM 它是一个压缩文件,其内容可以解压缩到桌面上。 (SSArchiveTest是rootfolder)
UPDATE
当试图在iPad上运行,我得到了同样的错误,但引用架构arm64:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_SSZipArchive", referenced from:
type metadata accessor for __ObjC.SSZipArchive in ViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
更新2我迄今所做
我到目前为止所做的: - 从xcode删除派生数据 - >窗口 - >项目 - >删除... - 从GIT更新了SSZipArchive,通过下载最新的源代码并替换了我在运行项目中已经拥有的所有东西。
更新3小项目加入
我增加了一个小的项目在Xcode 7.3.1重现错误: https://drive.google.com/open?id=0BzTzuiIaUzqkeTNrQTZkdGxrUnM 它是一个压缩文件,其内容可以解压缩到桌面上。 (SSArchiveTest是根文件夹)
您正在项目中使用SSZipArchive。如果您使用cocoapods进行安装,请更新pod文件。
打开一个终端窗口,进入你的项目文件夹,然后运行
pod update
我不使用cocoapads,但我已经更新了GIT的最新消息。我从GIT下载了最新的SSZipArchive,并替换了SSZipArchive.h和.m&all minizip文件。我仍然有同样的问题。任何帮助? –
检查您的构建设置。构建的体系结构必须与您所链接的库的体系结构相匹配。 –
我解决了这个问题。 Simpl在链接库中添加zlib.tbd解决了这个问题。
我有同样的问题。解决方案是将所有* .c文件(从minizip和aes文件夹)添加到目标 - >构建阶段 - >编译源。
链接错误通常归结为以下问题之一:1)链接器未找到库/框架(请参阅*生成设置*中的*库搜索路径*)。 2)库/框架不支持所需的CPU架构。要查看是否需要找到库/框架并使用其上的'file'命令来查看它支持哪些体系结构并可能获得更新/更好的库。 – Droppy
我不知道使用库。我只是使用* .h和* .m文件,我正在将其中一个桥接到swift项目中。大概我理解错了什么? –
我假设你正在使用库中的SSZipArchive代码。如果直接添加'.m'文件,那么它可能只是源文件的目标成员资格的问题。 – Droppy