[WebRTC]licode编译

片头曲:2019-12-11 之前的最新源代码,编译是有问题的,具体情况我提交了到github了,然后他们确认了问题,并在2019-12-12解决了.此前折腾了我好几天,差点让我怀疑人生.

言归正传,

如下,

1,参考下面网址执行命令就可以了
https://licode.readthedocs.io/en/master/from_source/
具体步骤
1)下载代码

git clone https://github.com/lynckia/licode.git
cd licode

2)下载依赖库,这步呢,就不要担心Python, NodeJS啊这些,它会自动下载安装.

./scripts/installUbuntuDeps.sh

3)继续执行,下面这两条命令主要是安装licode所需的组件

./scripts/installNuve.sh
./scripts/installErizo.sh

4)如果上面运行顺利,就基本上没大问题了.
安装BasicExample

./scripts/installBasicExample.sh

5)这个是开始运行licode,当然还要改一点配置.

./scripts/initLicode.sh

6)这个是运行

./scripts/initBasicExample.sh

2,我曾经遇到的问题
1) 执行./scripts/installUbuntuDeps.sh安装依赖库时明明提示libav安装成功,
但在./scripts/installErizo.sh提示

lib not found: AVUTIL-NOTFOUND check README

原因:libav真的没安装成功,
我遇到比较奇怪的情况就是,curl下载opus正常,网络也正常,但curl下载的libav文件解压缩有问题.
解决:手动通过浏览器下载,然后敲命令编译安装,具体参考
scripts/installErizo.sh里面的install_mediadeps_nogpl()执行就可以了

2) 提示执行lint.sh出错:

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] preinstall: `./lint.sh`
npm ERR! Exit status 1
npm ERR! 

一个是起因是

AsyncPromiseWorker.h:1:  #ifndef header guard has wrong style, please use: _HOME_EMEET_LICODE_MASTER_ERIZOAPI_ASYNCPROMISEWORKER_H_  [build/header_guard] [5]

还有个是

AsyncPromiseWorker.cc:0:  No copyright message found.  You should have a line: "Copyright [year] "  [legal/copyright] [5]
Done processing AsyncPromiseWorker.cc

原因都一样,当时是通过浏览器在网页直接下载licode代码的,
而不是通过git clone下载的,
代码里面缺少版权声明,C++头文件的宏定义也不规范,然后呢,
erizoAPI/lint.sh使用cpplint按照Google代码编写规范来检查报错了.
解决,当时我用了粗暴的解决方法,直接把
erizoAPI/lint.sh里面执行的命令注释掉了.
不建议啊,还是要git clone代码再正常编译才好.


 

 

你可能感兴趣的:(WebRTC)