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。
我最初删除了名为 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。