问题
mac平台下 ,使用最新的m97 版本 ,编译出静态库后 ,使用qtcreator 创建一个工程, 非qt工程 , 使用 一个简单的工程 测试webrtc的静态库
引入头文件
增加 实例化采集模块代码
无法编译通过 一直提示
Undefined symbols for architecture x86_64:
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__assign_external(char const*)", referenced from:
rtc::LogMessage::LogMessage(char const*, int, rtc::LoggingSeverity, rtc::LogErrorContext, int) in libwebrtc.a(logging.o)
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init_copy_ctor_external(char const*, unsigned long)", referenced from:
webrtc::metrics::HistogramFactoryGetCountsLinear(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, int) in libwebrtc.a(metrics.o)
webrtc::metrics::HistogramFactoryGetEnumeration(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libwebrtc.a(metrics.o)
webrtc::metrics::SampleInfo::SampleInfo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, unsigned long) in libwebrtc.a(metrics.o)
webrtc::metrics::SampleInfo::SampleInfo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, unsigned long) in libwebrtc.a(metrics.o)
webrtc::metrics::GetAndReset(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<webrtc::metrics::SampleInfo, std::__1::default_delete<webrtc::metrics::SampleInfo> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<webrtc::metrics::SampleInfo, std::__1::default_delete<webrtc::metrics::SampleInfo> > > > >*) in libwebrtc.a(metrics.o)
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<webrtc::metrics::(anonymous namespace)::RtcHistogram, std::__1::default_delete<webrtc::metrics::(anonymous namespace)::RtcHistogram> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<webrtc::metrics::(anonymous namespace)::RtcHistogram, std::__1::default_delete<webrtc::metrics::(anonymous namespace)::RtcHistogram> > > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libwebrtc.a(metrics.o)
void* std::__1::__function::__policy::__large_clone<std::__1::__function::__default_alloc_func<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, absl::string_view, rtc::ThreadAttributes, bool)::$_0, void ()> >(void const*) in libwebrtc.a(platform_thread.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
完全没有头绪, 更改了以来的asbl 也没有效果.
多次试验参数,查找资料,必须增加如下参数
use_custom_libcxx=false
is_clang=true
重新编译
app成功运行 .
此方式适用 mac下直接使用 webrtc静态库的方式…