Linphone ld:找不到体系结构的符号 x86_64 - Xcode 10

Linphone ld: symbol(s) not found for architecture x86_64 - Xcode 10

我最初删除了名为 lstdc++ 的库,因为 Xcode 要求我删除并添加了另一个名为 libc++ 的库。

在那之后,又出现了另一个错误,然后我已经两天没弄明白了。

显示错误的内容

Undefined symbols for architecture x86_64:
"std::_List_node_base::unhook()", referenced from:
  std::list<Linphone::Conference::Participant, 
std::allocator<Linphone::Conference::Participant> 
>::remove(Linphone::Conference::Participant const&) in 
liblinphone.a(conference.cc.o)
"std::_List_node_base::hook(std::_List_node_base*)", referenced from:
  Linphone::Conference::addParticipant(_LinphoneCall*) in 
 liblinphone.a(conference.cc.o)
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see 
  invocation)

你们对这个问题有什么想法吗?我一直在寻找其他网站,它告诉我遵循这个 libstdc++.6.0.9.tbd 但仍然无法正常工作。

对我有用 -> 我删除了 libstdc++.6.0.9.tbd -> 清理并删除派生数据 -> 运行 请备份您的代码并尝试

我有同样的问题,我能够通过从旧 xcode 复制 lstdc++ 并将构建设置中的 CLANG_CXX_LIBRARY 选项设置为 libstdc++ 来解决它。

假设两个 xcode 版本都在 /Applications 中并命名为 xcode 10 和 xcode 9:

,这里是您需要复制的内容
cp /Applications/Xcode9.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.* /Applications/Xcode10.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

cp /Applications/Xcode9.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.* /Applications/Xcode10.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

cp /Applications/Xcode9.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libstdc++.* /Applications/Xcode10.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/

不要忘记清除派生数据并重新启动您的 xcode。