我目前正在尝试使用LLVM(LLVM C ++标准库)构建从Unity导出的Xcode项目。该项目编译并链接libstdc ++(GNU C ++标准库)。
如果我包含" / usr / lib / libstdc ++。dylib"在其他链接器标志中,这解决了大多数问题,但留下了一个问题:
Undefined symbols for architecture i386:
"__Z21UnityKeyboard_GetTextPSs", referenced from:
__ZNK16KeyboardOnScreen7getTextEv in libiPhone-lib.a(iPhoneKeyboard.o)
它似乎正在寻找方法void UnityKeyboard_GetText(std :: string * text)作为Keyboard.mm的一部分。
当我转换Keyboard.o的符号时,我得到了
00002900 T __Z21UnityKeyboard_GetTextPNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE
000161c0 S __Z21UnityKeyboard_GetTextPNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE.eh
因此,当我使用libc ++时,受损的名称似乎是不兼容的。有没有办法解决这个问题?