linux下编译oRTP库
前几天讲了ortp库在windows下编译的过程,今天来讲一下linux下的编译过程。linux下的编译过程是参考别人的博客完成的,不过我这里在运行时出现了Segmentationfault(coredumped),所以我讲一下怎么解决,如果有更好的方法linux 拖库,欢迎一起交流。 工具/原料ubuntuortp-0.25.0.tar.gz方法/步骤1 ORTP源码从官方网站下载,压缩包除了含有源代码,还包括了几个sample文件, 1)RtpSender、RTPReceiver(此两个文件中包含了windowns下vs2008环境的文件); 2)test目录里包含rtpsend.c和rtpreceive.c; 3)压缩包目录下同时也包含了linux下编译和按照所需的Makefile文件; 我这里主要讲ubuntu下的编译过程,windows下的可以参考我之前写的经验。 7vs2015编译ortp库并产生测试exe程序(改进版) 2 将下载好的压缩包拖到ubuntu中你要安装的目录下,使用tar-zxvfortp-0.25.0.tar.gz命令解压缩到当前目录下,然后就可以将压缩包删除了。 3 进入刚解压好的ortp-0.25.0目录, 执行如下命令: a)./configure b)make c)makeinstall 4 装好以后系统环境如下: 静态动态库安装到了/usr/local/lib目录下,包括libortp.la、libortp.solibortp.so.8libortp.so.8.0.0。 头文件在/usr/local/include目录ortp目录下。 然后用cp命令将libortp.la、libortp.solibortp.so.8libortp.so.8.0.0库文件复制到/usr/lib文件夹下 将ortp目录整个复制到/usr/include目录下。 5 然后用gcc编译rtpsend.c,发现没有错误。很happy! 6 但是,一运行,就蒙蔽了,出现了Segmentationfault(coredumped),这是个什么东东。 另: session->rtt=0.000000 packetsendtotal=1 packetlosscum=0 这三行是我加的调试信息,没有是正常的。 7 找了很多博客,都去尝试了一下,在测试多线程的问题时,把rtpsend.c的74行的ortp_scheduler_init();注释掉。 8 再编译运行,发现就可以运行了。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |