Re: [問題] Undefined symbols for Arch x86_64

作者: akdsy (未來的方向)   2015-10-29 21:35:16
※ 引述《akdsy (未來的方向)》之銘言:
各位先進大家好~
改了一下作法來達到目標~
: 各位先進大家好,
: 在下將 Openssl 部分函數包成 framework 時遇到問題,
: 目前狀況的描述如下
: 1.我在編寫一個可以在 x86_64, armv7, armv7s, i386等架構可以被使用的framework,
: 在此稱為target.framwork,主要還是用obj-C來寫
: (包framework的方法參考以下網址
: http://blog.db-in.com/universal-framework-for-ios/ )
: 2.因為工作上的需求,把Openssl的部分函數include到這個framwork中
: 這邊用C++來寫
這邊的Openssl改用 https://github.com/x2on/OpenSSL-for-iPhone
所提供的 Openssl framework~
: 3.Build有成功,也有包出給各環境使用的framework,
: 用指令 file target.framework,可以看到他有包給各架構,
: 但是有一些warnning
: ld: warning:
: /Applications/Xcode.app/Contents/Developer/Platforms
: /iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.1.sdk
: /usr/lib/libstdc++.dylib,ignoring unexpected dylib file
: 4.測試把target.framework給其他專案使用時,用C++寫的函數都出現錯誤如下,
本來我是有兩個檔案分別是 .hpp(應該就是.h檔) 跟.cpp檔
後來把.cpp檔的內容implement在.hpp檔中,
google到一些說法是這個錯誤不代表xcode真的找不到,
有可能是xcode覺得你並沒有實作~
於是改成這樣後錯誤就不見了
: Undefined symbols for architecture x86_64
: ....
: ld: symbol(s) not found for architecture x86_64
: 之前在比較低的XCODE版本(4.X)是可以使用的,(不過沒有給x86_64的版本)
: 但是為了給x64可以使用於是升級到XCODE7.1就出現這些的錯誤
: 在下google之後,
: 經測試沒有找到方法可以解決這個問題,(或是我的google用得不好)
: 希望有前輩可以給在下一點明燈~~
: 十分感謝~~
大致上就是這樣解決

Links booklink

Contact Us: admin [ a t ] ucptt.com