寫了一個功能有混編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了,混編實現的功能也都正常,傻眼. 就這么解決了...