mac下webrtc的编译-坑记录 非常重要

问题

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静态库的方式…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值