所以打算重新整理一下生成VS解决方案的方法。
首先新建个路径作为解决方案根目录,新建四个empty project空项目:BasicUsageEnvironment、groupsock、liveMedia、UsageEnvironment
路径生成了。把live555对应的四个路径复制过来,合并,简单说就是源文件和头文件路径,不着急添加源文件到项目工程,添加也成,就是添加现成文件add->existing item,把对应路径的*.cpp都添加进来,可能你也需要看仔细,别漏了*.c文件。
然后引用头文件分别右击每个项目,properties属性,configuration properties VC++Directories。对里边的IncludeDirectories进行设置。找不到?补充一个VS小常识:
看到了?往左拉,这个Configuration Properties是有下拉箭头的。然后那些选项就都有了,然后就可以欢快的改了:
设置引用关系如下:
BasicUsageEnviroment除了需要引入自己的include文件夹下的文件外,同时还需要引入groupsock、UsageEnvironment文件夹下的include文件。
groupsock需要引入的文件为:自己include下的文件,BasicUsageEnvironment、UsageEnvironment文件夹下的include文件。
liveMedia需要引入的文件为:自己include下的文件,BasicUsageEnvironment、groupsock、UsageEnvironment文件夹下的include文件。
UsageEnvironment需要引入的文件为:自己include下的文件,BasicUsageEnvironment、groupsock文件夹下的include文件。
引用完了还需要给四个项目分别设置一下输出路径,在properties->Configuration Properties->General->OutputDirectory设置路径,一般相对路径比较好,更通用点,别人看起来舒服,自己“挪”起来方便,比如弄成../outFile,就是上一级的outFile路径。
同一页中不要关,Project Defaults里边Configuration Type,把.exe的application改成Static library的.lib文件。
Target Extention扩展路径名也改成.lib
设置基本完成,右击Solution解决方案,点击build生成解决方案。不要点那个Local Windows Debugger,不是干那个的时候。
经过右下角不太漫长的读条,四个.lib库文件在你设置的路径(..\outFile)生成了
在同一个解决方案下再添加一个mediaServer空工程,添加源文件DynamicRTSPServer.cpp和live555MediaServer.cpp(其实就是把live555的mediaServer给合并过来)
别以为DynamicRTSPServer.cpp没main函数,不起眼,没他不能运行,必须添加到工程,这都是教训。
这次的项目设置不同于前边的四个,需要引用四个库的include路径已经mediaServer自己的include路径
生成目标和配置类型Target Extension、Configuration Type目标也不用改成lib了,是exe文件。
最重要的是Linker链接器设置:
在General中的Additional Library Directories中添加..\outFile(你可以把那四个lib放到任意路径,这块设置成那个路径就完了)
input输入才是重点,把那四个lib的文件名和Ws2_32.lib都添加进去,用分号分割
UsageEnvironment.lib
liveMedia.lib
groupsock.lib
BasicUsageEnvironment.lib
Ws2_32.lib
最终项目分布效果图
资源浏览器浏览效果:
最后,别忘了右击mediaServer项目,设置成启动项Set as Startup Project
Local Windows Debugger生成并运行了。
应该没问题了。
Live555的VS解决方案生成完毕,接下来就是修改调试了。