webrtc编译 (2)

最终生成结果显示一大堆链接错误

[286/289] LINK peerconnection_client.exe peerconnection_client.exe.pdb FAILED: peerconnection_client.exe peerconnection_client.exe.pdb ... error LNK2001: 无法解析的外部符号 avpriv_emms_asm ... ./peerconnection_client.exe : fatal error LNK1120: 1 个无法解析的外部命令 [287/289] LINK(DLL) webrtc_unity_plugin.dll webrtc_unity_plugin.dll.lib webrtc_unity_plugin.dll.pdb FAILED: webrtc_unity_plugin.dll webrtc_unity_plugin.dll.lib webrtc_unity_plugin.dll.pdb ... error LNK2001: 无法解析的外部符号 avpriv_emms_as ... ./webrtc_unity_plugin.dll : fatal error LNK1120: 1 个无法解析的外部命令

忽略,反正在out/m84/obj目录下已经生成我要的webrtc.lib文件了。

Linux 安装depot_tools

拉取depot_tools

先设置git的代理,然后拉取depot_tools的代码,之后设置depot_tools的路径到 PATH 环变量。

gclient sync

在depot_tools目录下执行 gclient sync 之前,先做两件事:

修改 update_depot_tools 文件
将depot_tools目录下的 update_depot_tools 文件中关于使用root用户时就退出的地方去掉,否则运行这条指令的时候会提示Running depot tools as root is sad.,然后就没了反应。

设置 curl 或者整个linux环境代理
这里直接设置整个linux环境的代理,否则执行这条指令之后会提示curl https://chrome-infra-packages.appspot.com/ 失败之类的提示。
可以在 ~/.bashrc 文件中最后加入下列两条,之后每次进入终端后,输入命令setproxy就可以了。alias setproxy="export http_proxy=http://10.18.0.60:10080;export https_proxy=http://10.18.0.60:10080;echo 'HTTP Proxy on';" alias unsetproxy="unset http_proxy; unset https_proxy; echo 'HTTP Proxy off';"

编译webrtc

参考windows上编译webrtc的步骤。

ubuntu上gcc版本最好在6.3之上,并且pkg-config和python已经安装,若pkg-config未安装,则会在生成ninja工程时报错,若gcc版本过低,则在编译时会报错!

参考

WebRTC development
WebRTC Development

Git设置代理
curl 设置代理
Windows配置代理下载depot_tools
在win10上编译webRTC(问题篇)
Windows上WebRTC的源码下载和编译
Windows下webrtc.lib 的编译及vs工程中使用

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypssw.html