Xcode Undefined symbols for architecture x86_64: 解決方案


寫了一個功能有混編C++實現, 編譯的時候一直報錯。Undefined symbol: ___gxx_personality_v0

這里記錄一下搜索到有解決fix的方案-。-

  • 1.xcode needs to be configured in compiling process. in build setting /other linker flags -lc++

buildSetting -->other linker flags-->添加-lc++

  • 2.target->Build Phases->Link Binary with Libraries 添加 libc++.tbd 庫函數 libc++是Xcode的c++函數庫

    我印象中混編是這么解決的。

  • 3.接下來是我遇見的問題了...不知道你們的環境是不是跟我一樣..

    xcode 12, MacOS 10.15.

    問題描述:

    新建工程,實現OC 和C++混編,編寫的功能可以正常build和實現。然后將代碼添加到我需要導入的項目中后,發現一直build 報錯 如標題。

    本着唯物的原則,憑什么新的工程可以,同樣的東西導入工程后就不行,最后發現問題竟然是...

    好吧,沒有發現原因~。~

    解決方案:

    依舊是需要導入libc++庫,libc++.tbd和libc++.1.tbd其實是同一個東西,libc++.tbd是一個 link 指向libc++.1.tbd

    按照解決方案,應該是把libc++.tbd導入到link binary那邊,但是導入沒有效果,於是嘗試導入這個原文件libc++.1.tbd

    可以build了,混編實現的功能也都正常,傻眼. 就這么解決了...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM