最终生成结果显示一大堆链接错误
[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';"
参考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工程中使用