2

我正在使用 echoprint API 进行过去 3 个月的歌曲搜索。但突然它开始给我以下错误。在将 API 添加到我的项目时,我已经遇到了很多问题,现在它开始给我链接器错误。它以前对我有用。像这样的错误:

“Codegen::Codegen(float const*, unsigned int, int)”,引用自:File.o 中的_GetPCMFromFile

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

ld:未找到体系结构 i386 的符号

ld:警告:找不到选项'-LL/Users/prajaktakulkarni/Downloads/echoprint-codegen-4.12 2/src/echoprint-codegen-ios/build/Release-iphoneos'的目录 ld:警告:忽略文件/Users/prajaktakulkarni /Documents/Instajam/libechoprint-codegen-ios.a,在文件 /Users/prajaktakulkarni/Documents/Instajam/libechoprint-codegen-ios.a 中缺少所需的体系结构 i386(2 片)体系结构 i386 的未定义符号:“Codegen::Codegen (float const*, unsigned int, int)”,引用自:File.o ld 中的 _GetPCMFromFile:未找到架构 i386 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

4

2 回答 2

2

错误消息是说静态库 libechoprint-codegen-ios.a 尚未为 i386 架构构建 - 这是模拟器使用的架构。

您可以通过在终端中运行以下代码来了解为哪些架构构建了静态库:

lipo -info ~/Documents/Instajam/libechoprint-codegen-ios.a

它可能会告诉您它是为 armv7 和 armv7s 构建的。在撰写本文时,这将支持除最旧的 iOS 设备之外的所有设备。

您可以构建 libechoprint-codegen-ios.a 以在模拟器上运行。如果您对此感兴趣,这里有一篇很好的 stackoverflow 帖子:Build fat static library (device + simulator) using Xcode and SDK 4+

最简单的选择是只需插入您的手机,而不必担心构建一个胖静态库。:D

于 2013-03-25T10:53:47.630 回答
0

最近,我通过使用libz.1.1.3.tbd而不是libz.tbd解决了这个问题,当然这个链接很有用Echoprint iOS Missing Framework

于 2018-04-11T14:08:41.127 回答