iOS中echoprint的链接器错误

问题描述 投票:2回答:2

我在过去3个月里使用echoprint API进行歌曲搜索。但突然间它开始给我低于错误。在将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:warning:忽略文件/ Users / prajaktakulkarni /Documents/Instajam/libechoprint-codegen-ios.a,缺少文件中所需的架构i386 /Users/prajaktakulkarni/Documents/Instajam/libechoprint-codegen-ios.a(2个切片)架构i386的未定义符号:“Codegen :: Codegen (float const *,unsigned int,int)“,引自:File.o中的_GetPCMFromFile ld:未找到架构i386的符号clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

ios objective-c iphone audio-fingerprinting echoprint
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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.