jrtplib-3.9.0的编译,终于搞通了。网上搜集了很多资料,自己也调试了很久。

首先,jrtplib-3.9.0是什么不用多说吧,它是一个很牛的老外用C++写的一个开源的RTP协议库,用它可以进行数据的实时传输。RTP是实时传输协议的简称,由最新的RFC3550文档进行规范。

1、从http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib下载最新的jrtplib-3.9.0和jthread-1.3.0。

2、从http://www.cmake.org/cmake/resources/software.html下载cmake 2.8,并安装了。

3、解压jthread-1.3.0.zip,拷贝到假设为D盘。打开cmake 2.8,如图设置好源路径D:\jthread-1.3.0和目标路径D:\jthread,然后configure,后generate,就会在D:\jthread中生成vs2008的工程了。

4、打开D:\jthread中的jthread.sln,右键工程管理视图中的INSTALL,选择重新生成。OK,在C:\Program Files\jthread中就生成了我们需要的jthread_d.lib,和相应的头文件了,再设置生成release版的jthread.lib,不用我说了吧。

接下来就是编译jrtplib-3.9.0,实在是很麻烦。

1、解压jrtplib-3.9.0.zip吧,拷到D盘。打开cmake 2.8,如图设置好源路径D:\jrtplib-3.9.0和目标路径D:\jrtplib3.9.0,然后configure,会出现很多错误啊,也不是错误,就是找不到jthread的头文件、库文件和路径之类的了。郁闷了很久,胡乱试了一下,按图中圆圈的地方自己填好路径吧,再configure一下,OK,没错了,再generate啦,就会在D:\jrtplib3.9.0中生成vs2008的工程了。

2、打开D:\jrtplib3.9.0中的jrtplib.sln,右键工程管理视图中的INSTALL,选择重新生成,又是一堆的错误,其实就是找不到jthread的头文件了,在D:\jrtplib3.9.0\src\中新建一个jthread文件夹,把C:\Program Files\jthread\include\jthread头文件都拷进去吧,再重新生成,OK啦,梦魅以求的jthread_d.lib终于在C:/Program Files/jrtplib中生成了,然后生成release版的就行了。

弄了这么久,好像不是很复杂哦,要知道这些可花了我一天时间啊,天啊!!!!!

接来就是运行jrtplib3.9.0自带的example1.cpp了。

1、本人是先把C:/Program Files/jrtplib和C:\Program Files\jthread中的头文件和库文库分别拷到一起了,就是新建一个文件夹如C:/RTP,里面再建两个include和lib,把头文件和库文件分别拷进去吧。

2、然后用VS2008新建一个空的控制台工程了,设置好目录了C:/RTP/include和C:/RTP/lib,把example1.cpp加到工程中来。调试运行,一堆链接错误。没有设置为:多线程调试 DLL (/MDd),这个是在:项目属性->c/c++->代码生成->运行时库中设置了。好,再运行,OK啦!!!

3、运行后要求,输入本端口号,输入6000回车,后是目的地址:127.0.0.1了,后是目的端口号:6000了,后是要发送的数据包个数,10吧,OK,收到了,如下图:

4、运行完后,会有两个警告信息,说jthread的调试信息不可用,这是因为我们没有把jthread_d.pdb拷到C:/RTP/lib中了,这个jthread_d.pdb是要到D:\jthread\src\DEBUG中找的,在生成的C:\Program Files\jthread\lib文件夹中是没有的。再运行,没警告了。

大功造成,后面要用好这个库,大家一起学习吧,任重道远啊!!!

如果大家觉得麻烦,可直接到这里下载我编译好的用:http://download.csdn.net/detail/jid_223/3670397。

下面再贴一下我参考的博客吧:

http://hi.baidu.com/qiaxue/blog/item/ea149345fafd4133879473fc.html#0

http://blog.csdn.net/ljbsdu/article/details/6652991

http://blog.csdn.net/aaronalan/article/details/5153604

http://leezen.blogbus.com/logs/22052259.html

http://blog.csdn.net/smilestone322/article/details/6662902

http://general.blog.51cto.com/927298/328224

http://hi.baidu.com/whuisland/blog/item/e4811b3d2c9d4404baa167e9.html

http://wmnmtm.blog.163.com/blog/static/382457142011537199240/

vs2008 下编译jrtplib-3.9.0成功的更多相关文章

  1. 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)

    在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...

  2. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  3. 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具

    目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.z ...

  4. setlocale同mbstowcs函数的关系(VS2008下setlocale(LC_ALL, "chs")可以执行成功,BCB使用setlocale(LC_ALL, "Chinese (Simplified)_People's Republic of China"),linux上locale别名表大概在 /usr/lib/X11/locale/locale.alias)

    序中,如果要将ASCII码字符串转换为宽字符(Unicode),可以利用标准C的mbstowcs函数. 微软在MSDN中有示例,如下: 然而,这段代码在处理含有汉字的字符串时就会出现问题.比如将: w ...

  5. 64位centos 下编译 hadoop 2.6.0 源码

    64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...

  6. VS2008下编译boost_1_47_0

      1,boost下载 如果不想自己编译,可下载http://boostpro.com/download/boost_1_47_setup.exe,安装后,程序会提供选项供下载已经编译好的库文件,基于 ...

  7. VS2008下编译BOOST 1.39的ASIO库

    由于全部编译BOOST库需要的时间太长,而且耗费空间,况且我只需要用ASIO库,所以就没有必要全部编译了. boost库到www.boost.org上下载. 编译很简单,假设你的boost存放的目录是 ...

  8. Windows下编译protobuf v3.3.0

    一:概述 关于 protobuf 在此不再多说,此处记录下成功编译步骤以备日后查阅.注意:本文并不是使用cmake gui进行编译的,如果熟悉cmake gui的话,也可以使用gui进行生成编译. 二 ...

  9. Windows7+VS2008 下编译Subversion 1.8.3

    一.需要的软件包 1.python-2.7.5.msi  http://www.python.org/ 2.ActivePerl-5.8.8.822-MSWin32-x86-280952.msi  h ...

随机推荐

  1. Android 逐帧动画isRunning 一直返回true的问题

    AnimationDrawabl主要通过xml实现逐帧动画,SDK实例如下: An AnimationDrawable defined in XML consists of a single < ...

  2. Research Papers

    NSE, $\bbu$ [Papers]NSE, $u$, Lorentz space [Sohr, JEE, 2001] [Papers]NSE, $u$, Lorentz space [Bjorl ...

  3. winphone 开发学习笔记(2)

    导航 NavigationService.Navigate(new Uri("xxxx.xaml",UriKind.Relative)) xxx表示要跳转的目标页面 页面和页面导航 ...

  4. C#针对DataTable进行分页方法

    以下的分页方法是针对数据量不是非常大的数据进行的,是在内存中进行的分页操作. /// <summary> /// DataTable分页 /// </summary> /// ...

  5. [转]linux的ulimit各种限制之深入分析

    这是一篇非常好的文章,对ulimit的各个限制参数讲得非常透彻.原文链接:http://home.lupaworld.com/home-space-uid-56821-do-blog-id-23281 ...

  6. Codeforces 350B Resort

    题目链接:http://codeforces.com/problemset/problem/350/B 一开始想复杂了,建了张图,结果效率太低T了.其实用数组存可以了,结果发现的时候快没时间了,修改好 ...

  7. Spring IOC配置与应用

    1.     FAQ:不给提示: a)     window – preferences – myeclipse – xml – xml catalog b)     User Specified E ...

  8. JS:九宫格抽奖转盘实例

    工作需要,所以做了个抽奖转盘的插件,当然这里只做最简单的演示.可以用于取代一些flash抽奖程序. 机制说明: 1.通过定义lottery-unit来控制节点的个数及索引: 2.通过设置lottery ...

  9. CSS3动画变形transition

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. ajaxPro用法

    一.AjaxPro的使用 1.在项目中添加引用,浏览找到AjaxPro.2.dll文件 2.在Web.config中的system.web里面写入以下代码 </configuration> ...