WINDOWS下编译jrtplib及其测试

来源:互联网 发布:java中list多个列排序 编辑:程序博客网 时间:2024/05/21 12:47

WINDOWS下编译jrtplib及其测试

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://leezen.blogbus.com/logs/22052259.html

申明:本文对以上链接的文章做了部分改变。 

开发环境:VC 6.0(必须安装好VC6SP6,很多版本的VC 6.0已集成此补丁,不必安装)

JRTPLIB库是一个RTP协议的开源库,使用这套库文件,我们可以创建端到端的RTP连接,实现数据的实时传输。

RTP是实时传输协议的简称。压缩包可以从这里获得:

http://www.bairuitech.com/upimg/soft/jrtplib-3.7.1.rar

或者http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib

下载jrtplib-3.7.1.rar后,首先将其解压到一个临时文件夹中,然后开始后续工作。

首先需要强调的是,jrtplib是一个库而不是应用程序,编译后我们获得的是.lib文件。这个文件是用来实现RTP协议的,意义和我们在写WIN32程序时用到的kernel.lib一样。

1、解压后的文件夹中包含两个目录,jrtplib-3.7.1jthread-1.2.1,打开这两个目录后我们可以看到下面又有两个同名的目录,为了后面能顺利编译,我们把同名目录下的文件全部考到上一级目录中,就是说把c:/jrtplib-3.7.1/jrtplib-3.7.1/*.* 复制到c:/jrtplib-3.7.1/。同理,把c:/jthread-1.2.1/jthread-1.2.1/*.* 复制到c:/jthread-1.2.1/。完成上述步骤后我们就可以开始编译库文件了。

2、编译jrtplib.libjthread.lib需要注意VC6要求安装Vs6sp6,在编译jrtplib.libjthread.lib前,在project——settings——C/C++——category: Code generation:use run-time library中,对于debug,选择:Debug Multithreaded DLL,对于release,则选择:Multithreaded DLL

3、首先编译jthread,然后将jthread-1.2.1/src内的"jmutex.h""jthread.h"两个头文件放入jrtplib-3.7.1/src目录下,然后将jrtplib-3.7.1/src文件夹下所有头文件中的<jmutex.h><jthread.h>语句修改为"jmutex.h""jthread.h",需要修改的文件为rtpudpv4transmitter.hrtpsession.hrtppollthread.h。编译时注意编译方式和jthread.lib一致,并且设置路径包含jtrplib所有头文件,路径设置方法:工具--选项--目录--include files.(也可以将JRTPLIB,JTHREAD文件夹/src下的.h文件复制到VC 6/vc98/lib下面)

4、将编译生成的jthread.libjrtplib.lib拷贝到系统目录:C:/Program Files/Microsoft Visual Studio/VC98/Lib下。

5、那些example的编译,需要在cpp文件开头加上:

#pragma comment(lib, "jrtplib.lib")

#pragma comment(lib, "jthread.lib")

#pragma comment(lib, "WS2_32.lib")

 

编译的时候,同样选择编译选项:Debug Multithreaded DLL(对于debug,调试时);Multithreaded DLL(对于release)。如果不这样会报很多错

Project->Settings->LinkObject/library modules:添加jthread.lib jrtplib.lib ws2_32.lib

然后编译-链接-运行就可以了。成功的话DOC平台会出现enter th local portbase字样。到此说明编译成功。