2017-04-26 90 views
0

我得到这个错误:的Xcode:为建筑x86_64的LD iOSUndefined符号:找不到架构x86_64的符号(S)

Undefined symbols for architecture x86_64: 
    "_hmac_sha1", referenced from: 
     -[OAHMAC_SHA1SignatureProvider signClearText:withSecret:] in OAHMAC_SHA1SignatureProvider.o 
    "_Base64EncodeData", referenced from: 
     -[OAHMAC_SHA1SignatureProvider signClearText:withSecret:] in OAHMAC_SHA1SignatureProvider.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

这是该行抱怨:

extern void hmac_sha1(const u_int8_t *inText, size_t inTextLength, u_int8_t* inKey, const size_t inKeyLength, u_int8_t *outDigest); 

我无法弄清楚什么是错的,或者我该如何解决这个问题。

我真的很感谢你的帮助。

回答

0

看起来你缺少一个库或框架。在项目导航器中选择您的项目,转到常规选项卡,然后向下滚动到链接框架和库。点击+符号将框架或库添加到您的项目中。

hmac_sha1是Common Crypto库的一部分,因此看起来像是一个很好的开始。

+0

什么是抱怨“_hmac_sha1”,引用“是这部分”extern void hmac_sha1(const u_int8_t * inText,size_t inTextLength,u_int8_t * inKey,const size_t inKeyLength,u_int8_t * outDigest);“ – user2924482

0

从我个人的经验来看,这些叮铛声的错误有点泛泛。我经常在命名碰撞时看到这些。最近我更新了一个框架到它的新版本,最终得到了一个类名冲突和一个外部NSString * const,从你上面说的可能是你的问题。我会在你的代码库中搜索“hmac_sha1”,看看出现了什么。甚至可能改变名字并再次运行。

相关问题