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. nginx+tomcat配置https

    nginx代理https后,应用redirect https变成http,很多页面报404.情况类似http://blog.sina.com.cn/s/blog_56d8ea900101hlhv.ht ...

  2. HDU-4927 Series 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4927 同学用java写的大整数相减 Series 1 Time Limit: 2000/1000 MS (Jav ...

  3. [转+整理]LINUX学习笔记(1):磁盘结构及分区

    整理自: http://vbird.dic.ksu.edu.tw/linux_basic/0130designlinux_2.php http://lengjianxxxx.blog.163.com/ ...

  4. 实现自己的脚本语言ngscript之二:语法分析

    ngscript的语法分析使用的是我自己的语法分析工具parseroid.与常用cc工具(yacc.bison.javacc.antlr.etc…)不同的是,parseroid生成的不是语法分析器的源 ...

  5. 以O2O为核心的ERP思考

    O2O已经火了一阵子了,很多人都在说O2O,各行各业都想和O2O有所结合,都认为这里面将会有巨大的商机. 在互联网发展到移动互联网的时代,我们的生活的很多方面已经被改变了,很多事情都已经可以在移动端完 ...

  6. Oracle索引(B*tree与Bitmap)的学习总结

    在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等,其中最常用的是B*Tree索引和Bitmap索引.(1).与索引相关视 ...

  7. Maven学习总结(1-10)

    Maven学习总结(1-10) 本文转自 孤傲苍狼 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/xdp-gacl/tag/Maven%E5%AD%A6% ...

  8. 用java写随机出题

    import java.io.*; //输入函数包 public class hello{ public static void main(String args[]){ String s=" ...

  9. UVa11526 H(n)

    http://blog.csdn.net/synapse7/article/details/12873437 #include<cstdio> #include<cstring> ...

  10. dom0的cpu hotplug【续】

    上一篇说到,手动xm vcpu-pin住,在hotplug就好了. 本质上,还是因为代码有bug,导致vcpu offline的时候,信息没有清理干净,有残留,当vcpu online的时候,如果调度 ...