peerconnection_server 的编译

来源:互联网 发布:淘宝同步国际版 编辑:程序博客网 时间:2024/06/06 02:42

项目中需要修改webrtc的peerconnection_server,之前的环境已经没有了,只得重新部署环境。

源码是下载到windows环境中的,linux机器不能联网。

上传到linux机器之后

1.gclient runhooks --force #生成linux下的工程配置文件,即makefile

2.make peerconnection_server

在执行到现在这一步的时候,一直提示 libc.so.6 的版本过低,需要GLIBC2.7 GLIBC2.8版本

本想更新libc版本,几经周折还是不行,更新系统的libc库风险很大。

无奈,只得慢慢分析

查找到 trunk/talk 下的 peerconnection_server.target.mk,这个文件就是peerconnection_server的makefile

在如下地方

215 # End of this set of suffix rules
216 ### Rules for final target.
217 LDFLAGS_Debug := \
218         -Wl,-z,now \
219         -Wl,-z,relro \
220         -pthread \
221         -Wl,-z,noexecstack \
222         -fPIC
223 #       -Wl,--icf=none
224 #-B$(builddir)/../../third_party/gold 
225 #       -Wl,--threads 
226 #       -Wl,--thread-count=4 
227 
228 LDFLAGS_Release := \
229         -Wl,-z,now \
230         -Wl,-z,relro \
231         -pthread \
232         -Wl,-z,noexecstack \
233         -fPIC \
234         -Wl,-O1 \
235         -Wl,--as-needed \
236         -Wl,--gc-sections
237 
238 #-Wl,--icf=none \
239 #-Wl,--thread-count=4 \
240 #-Wl,--threads \
241 #-B$(builddir)/../../third_party/gold 

注释掉部分内容,如-Wl,--icf=none 等等。如此之后,直接在此目录下执行make即可。


中间还遇见些问题,主要是webrtc自身代码的问题:

1. linuxwindowpicker.h 这个文件中 

// Avoid include <X11/Xlib.h>.

把x11的xlib.h头文件屏蔽掉了,要添加上

#include<X11/Xlib.h>

2. /xmllite/xmlparser.h 文件中遇见XML_Size和 XML_Index 找不到定义的问题

可以直接 typedef long long XML_Size; typedef long long XML_Index;

其实这两个类型的声明在 expat.h头文件中。设置有问题的话,可能就会出现找不到类型声明的问题


建议:

peerconnection_server中有可以停止运行的/quit命令

如果部署的是生产环境,建议将该命令屏蔽掉。以防不测

原创粉丝点击