RTP(实时传输协议)国外存在开源版的JRTPLib,下面讲述在VS2008上面的编译步骤
下载JRTPLIB开源库包括两个jthread 和jrtplib
下载链接:jthread:http://research.edm.uhasselt.be/%7Ejori/page/index.php?n=CS.Jrtplib
jrtplib: http://research.edm.uhasselt.be/%7Ejori/page/index.php?n=CS.Jthread
1 首先编译 jthread :打开项目直接编译,编译成功后将 jthread下的src目录中的jmutex.h以及jthread.h复制到jrtplib目录下src目录中,同时修改下面文件:rtpudpv4transmitter.h、rtpsession.h和rtppollthread.h,将其中的#include<jmutex.h>以及#include<jthread.h> 修改为#include"jmutex.h" #include"jthread.h"编译,就能够生成相应的lib文件
2将jthread.lib 和jrtplib.lib 复制到VS2008安装目录中的C:/Program Files/Microsoft Visual Studio 9.0/VC/lib中
同时将jrtplib目录下的src目录下的所有.h文件复制到 C:/Program Files/Microsoft Visual Studio 9.0/VC/include中
,然后就可以测试jrtplib中的例子程序了
3用vs建立console工程,然后将例子程序中的功能代码复制到主程序中,同时需要将一下三个lib:jrtplib.lib,jthread.lib ,WS2_32.lib 添加到依赖中.build,成功.
特别注意:在进行编译的时候注意如果你的jrtplib.lib 和jthread.lib为release版本的话 ,sample编译时候也要为release版本,如果为debug版本的话,sample编译时候也要为debug版本,否则执行回报告异常
<--------------------------------------------------->
当你需要不同平台下的jrtplib库时候只要你上面已经装过了相应平台的sdk就可以生成相应平台的库,基本步骤与上面相似
但是当你移植到wince下面时候 在建立项目的时候一定要将系统配置中linker 下的system 中的
Stack Reserve Size 中选择为零即默认大小,不然的话在执行的时候会执行到Create时候(创建RTP任务时候)异常退出