2017-04-26 50 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」,看看出現了什麼。甚至可能改變名字並再次運行。

相關問題