Live555是一款开源的RTSP服务器,下载地址http://www.live555.com/liveMedia/public/

下载下来的代码只有源文件,没有工程文件。那么如何使用VS 调试live555的源代码呢,下面将一步一步进行介绍。

使用的编译环境为win7 + vs2008

第一步打开vs2008,新建一个解决方案,目录为解压之后的代码目录,名称为live555,类型为win32 控制台程序

这样会生成一个空的解决方案,并且会有一个工程为live555

第二步,在解决方案中,新添加几个工程名为BasicUsageEnvironment, groupsock,liveMedia,UsageEnvironment

第三步,分别往几个空的工程中添加.hh与.cpp文件

BasicUsageEnvironment 工程对应的代码目录为BasicUsageEnvironment

groupsock工程对应的代码目录为groupsock

live555工程对应的代码目录为liveMedia

liveMedia工程对应的代码目录为liveMedia

UsageEnvironment工程对应的代码目录为UsageEnvironment

分别将这几个目录中.hh与.cpp添加到对应工程的Header Files 与Source Files文件夹中

第四步: 添加头文件目录

整个工程的依赖关系如下:

1 . live555这个工程使用到了其他所有工程,所以要添加所有工程的.h文件目录

添加方法:右击live555工程,在Configuration Properties / C/C++ / General 中找到Additional Include Directories

添加如下的目录

..\..\BasicUsageEnvironment\include;

..\..\liveMedia\include;

..\..\mediaServer;

..\..\groupsock\include;

..\..\UsageEnvironment\include;

这里一定要使用相对路径,不然更换一个目录就会编译不过

2 . BasicUsageEnvironment工程, 添加头文件目录

..\..\BasicUsageEnvironment\include;

..\..\UsageEnvironment\include;

..\..\groupsock\include;

3. groupsock工程,添加头文件目录

..\..\UsageEnvironment\include;

..\..\groupsock\include;

4. livemedia工程,添加头文件目录

..\..\liveMedia\include;

..\..\groupsock\include;

..\..\UsageEnvironment\include;

5. UsageEnvironment工程,添加头文件目录

..\..\UsageEnvironment\include;

..\..\groupsock\include;

第五步,设置编译依赖

编译时,由于各个工程会调用别的工程的函数,所以要设置编译依赖

右击解决方案,选择project dependencies。

选择live555, 将其他几个工程勾选上。表示在最后连接阶段,需要用到其他几个工程生成的库文件。

另外,代码里面没有导入win32的网络库,所以编译时会产生很多错误,可以在NetCommon.h头文件中添加

#pragma comment( lib, "ws2_32.lib"), 这样就没问题了

到此,工程就已经建好了,应该可以直接调试运行起来。

live555工程建立与调试的更多相关文章

  1. Davinci DM6446开发攻略——DSP开发工程建立

    前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...

  2. Eclipse中STM32工程建立步骤

    前段时间一直在折腾linux系统上STM32的开发,网上一顿搜,费劲九牛二虎之力终于把环境搭好了(现在都有点忘了,后面再折腾环境搭建一定要写个教程,今天先不写了). 自从环境搭好之后,就基本抛弃MDK ...

  3. Quartus II——工程建立和常用设置

    Quartus ii是针对Altera FPGA的一款EDA软件,在此以一个led闪烁工程来简单说一下基本操作: 一.注意事项 Quartus ii最大的注意事项就一点:工程名称以及工程里面的文件名称 ...

  4. springcloud工程建立 父工程+公用子模块+微服务提供模块

    建立 Java Working Set:工程多的时候可以展开收缩,方便管理 切换到Package Explorer视图,并点击视图右侧下箭头,选择Working Sets,如下图: 建立父工程,将后续 ...

  5. Lattice 的 DDR IP核使用调试笔记之工程建立

    DDR3的IP核的使用相当重要,尤其是对视频处理方面. 下面接收DDR3 的IP 核的生成步骤. 1. 选择DDR IP核的生成路径.名字以及哪种语言之后就可以设置DDR IP 的参数了. 2.选择存 ...

  6. Modelsim——工程建立和常用设置

    Modelsim是一款优秀的FPGA仿真软件,这里记录一下Modelsim的基本使用. 一.联合仿真 联合仿真,即Quartus ii自己调用Modelsim,Modelsim自动出现仿真波形. 1. ...

  7. Maven工程的Web调试

    1.添加Server,将Web工程和Tomcat关联起来: 1)Windows->Show views->Other-->Servers,将会在下方弹出Server的窗口,然后右键添 ...

  8. 工程建立多个source folder

    在工程中,想在建立多个source filder,总是报错,报错信息是 Cannot nest 'GzEdu/src/c' inside 'GzEdu/src'. To enable the nest ...

  9. 工程无法正常调试运行unknown failure at android.os.Binder.execTransact

    同事正常使用的工程,放到另电脑上,开后可以正常编译,但是无法安装调试到手机上,始终提示错误 新建一个工程正常. 最后通过把开发工具升级到最新版本解决.

随机推荐

  1. 04-HTTP协议和静态Web服务器

    一.HTTP协议(HyperText Transfer Protocol)     超文本传输协议,超文本是超级文本的缩写,是指超越文本限制或者超链接,比如:图片.音乐.视频.超链接等等都属于超文本. ...

  2. python3 函数注意要点

    一.定义一个函数: def test(): #用def关键词开头 print('*****') def test2(a,b): #a,b为形参 print(a,b) return a,b # retu ...

  3. 《物联网框架ServerSuperIO教程》- 23.动态数据接口增加缓存,提高数据输出到OPCServer和(实时)数据库的效率

     22.1   概述及要解决的问题 设备驱动有DeviceDynamic接口,可以继承并增加新的实时数据属性,每次通讯完成后更新这些属性数据.原来是通过DeviceDynamic接口实体类反射的方式获 ...

  4. log4net其中layout节点的配置说明

    其中layout节点的配置说明:        %m(message):输出的日志消息:        %n(newline):换行:        %d(datetime):输出当前语句运行的时刻: ...

  5. 563. Binary Tree Tilt

    https://leetcode.com/problems/binary-tree-tilt/description/ 挺好的一个题目,审题不清的话很容易做错.主要是tilt of whole tre ...

  6. having使用

    啰嗦点: where子句用来筛选 from子句中指定的操作所产生的行. group by 子句用来分组 where子句的输出. having子句用来从分组的结果中筛选行. 对于可以在分组操作之前或之后 ...

  7. 小程序-组件component和模版template的选择和使用

    小程序提供了组件component和模版template那什么时候 选择哪一个使用呢?我总结了一下 template主要是模版,对于重复的展示型模块进行展示,其中调用的方法或者数据data都是需要引用 ...

  8. xpath解析html

    XPath XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历.XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XP ...

  9. ISP PIPLINE (十五) AF

    主流的AF: CDAF, PDAF, laser assist AF(这个只是辅助,在微距或者拍摄纹理不明显的场景下好用). AF的大致原理就是检测图像锐度或者等价于锐度的参数,推动马达实现合焦或者对 ...

  10. 创建线程的一般方式和匿名内部类方式对比——继承thread类,重写run()方法

    第一种:继承thread类,重写run()方法 一般方式:Demo01.java /** * 创建线程的第一种方式:继承thread类,重写run()方法 * * @author :liuqi * @ ...