对'webrtc::CreateSessionDescription(std::__ndk1::basic_string, std::__ndk1::allocator > const&, std::__ndk1::basic_string, std::__ndk1::allocator > const&, webrtc: :SdpParseError*)'
更新 android ndk 修订版 11 后,我遇到了一些问题。 由于上述原因,我无法构建我的项目。
在 Android Developer 中,我发现“Changed libc++'s inline namespace to std::__ndk1 to prevent ODR issues with platform libc++.”,但我无法理解。
我该如何解决?
谢谢你帮助我。
最佳答案
我认为我的方法或多或少有些棘手,但它确实有效。 我进入/ndk-root-path//sources/cxx-STL/llvm-libc++/libcxx/include,有一个名为“__config”的文件。打开它并找出所有带有“_LIBCPP_BEGIN_NAMESPACE_STD”的行,这是添加内联命名空间“__ndk1”的地方。所以我只是注释掉所有内联命名空间,例如:
352 #define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {//inline namespace _LIBCPP_NAMESPACE {
353 #define _LIBCPP_END_NAMESPACE_STD } //}
354 #define _VSTD std//::_LIBCPP_NAMESPACE
356 namespace std {
// inline namespace _LIBCPP_NAMESPACE {
// }
}
这些代码应该有 4 或 5 段。发表评论后,您可以重建您的 ndk 项目,它应该可以工作。
关于android - 更新 ndk 修订版 11 后错误未定义对 std::__ndk1 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36127404/