一、在vs2008中的编译
1.建立工程
从已有代码建立工程
打开New->Project from Existing Code,根据提示选择工程类型为“Console application project”
2.处理头文件
live555中头文件后缀为*.hh, vs2008中不能自动识别,要手动添加进来。方法是在"Solution Explorer"中手动将*.hh文件选择,然后在右键菜单中选择“Include in Project”。
3.工程属性设置
添加依赖头文件
BasicUsageEnvironment/include;groupsock/include;UsageEnvironment/include;liveMedia/include
添加网络依赖库
ws2_32.lib
4.关于调试
live555中定义了一个宏"DEBUG",用于控制打印消息,调试时,可以在工程属性中设置这个宏
二、用命令行编译
1.命令行编译是参考官方的说明
2.修改win32config文件
TOOLS32
= D:\Program Files\Microsoft Visual Studio 9.0\VC,这是VC的安装位置
LINK_OPTS_0 = $(linkdebug) msvcirt.lib 中的msvcirt.lib修改为msvcrt.lib
修改groupsock/makefile.head替换"INCLUDES = -Iinclude -I../UsageEnvironment/include" 为"INCLUDES = -Iinclude -I../UsageEnvironment/include -DNO_STRSTREAM,其实就是定义了一个宏NO_STRSTREAM
3.运行genWindowsMakefiles.cmd 在各个了目录下会生成VS能够编译的*.mak文件
4.新建一个批处理文件compile.bat,内容如下:
call "D:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
cd liveMedia
nmake /B -f liveMedia.mak
cd ../groupsock
nmake /B -f groupsock.mak
cd ../UsageEnvironment
nmake /B -f UsageEnvironment.mak
cd ../BasicUsageEnvironment
nmake /B -f BasicUsageEnvironment.mak
cd ../testProgs
nmake /B -f testProgs.mak
cd ../mediaServer
nmake /B -f mediaServer.mak
pause
解析:
/B 即使dependent与target有相同的time stamp,也重建该target。大部分的OS中的time stamp是以2秒为单位的,如果一个2秒之内被修改,那么它的time stamp将不会有任何变化。在这种情况下,你就需要使用该选项让NMAKE重建之。为了预防万一,总是应该使用该选项,尽管可能会导致不必要的重建操作。
/F filename 指定makefile的名字。如果用“-”代替filename,则NMAKE从STDIN 获取makefile的输入(对于键盘终端,用F6或CTRL+Z来结束输入)。可以指定多个makefile,每个makefile前都要有一个/F。
call "D:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
设置VC的环境变量,否则一些工具会找不到