Compiling Live555 Streaming Media with Visual Studio 2008 isn’t obvious. Using Cygwin or MinGW is just a pain and frankly unnecessary. There is no built-in support for VS solution files, because Windows support is a low priority for the Live555 community. This is evidenced by this forum response from Ross Finlayson:
>4. Is it possible to include a Visual Studio solution in the
>distrubution to make it more convenient for Windows developers to
>use live555?
>5. Is it possible for live555 to generate adequate makefiles for
>Windows systems with development environments newer than Visual
>Studio 2003?I have no current plans to change this. (These days, fewer and fewer people seem to be using Windows for development of system software.)
Regardless, Live555 works fine on Windows and is actually quite easy to build. Simply do the following:
- Open the ‘win32config’ file and change the
TOOLS32=...variable to your VS2008 install directory. For me, it’sTOOLS32=C:\Program Files\Microsoft Visual Studio 9.0\VC - In ‘win32config’, modify the
LINK_OPTS_0=...line frommsvcirt.libtomsvcrt.lib. This fixes the link error:
LINK : fatal error LNK1181: cannot open input file 'msvcirt.lib' - Open the Visual Studio command prompt.
- From the ‘live’ source directory, run
genWindowsMakefiles - Now you’re ready to build. Simply run the following commands:
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
That’s it. You should be good to go.


Thanks a bunch, I was trying to compile it with VS2010 and having problems. This was really helpful.
Reply
Hi, really interesting your guide. The problem for me is that I have to use Live555 in a Qt project using MinGW.
So, how can I compile Live555 with MinGW? I’m working on XP
Thank you
Reply
The problem with the script is spaces in the path to compiler given in $(TOOLS32)
The win32config file must provide the path to VC in quotes if a space is present, however this is concantenated later with other variables along with the quotes. For me this concatenation of variables that were already quotes yielded invalid paths to the comiler exe.
The solution i employed was to create a duplicate variable of $(TOOLS32)
without the quotes by doing: something like this:
TOOLS32_NO_QUOTES=$(TOOLS32:”=)
subsequently i replaced all concatented occurances of $(TOOLS32) with $(TOOLS32_NO_QUOTES) and voila, each makefile was generated and executed with no problems according to the above.
PS: i used VS2010 SP1 compiler/linker.
Reply
Thanks for posting this – helped a lot!
Reply
Very useful guide… Thanks
Reply
Thanks, I remember getting it to build in vs2008 a couple years ago but forgot what I did to make it work
Most of the time I use linux to build it but this time I wanted to use it in Visual Studio.
Reply
Thank you sooo much!
Reply
thanks a lot buddy
Reply
This was really helpfull. Thank you.
Reply
Saved the day for me!
Thanks a lot for sharing!
Reply
Thank you, this guide did the trick!
Reply
Can u help us to also calculate the frame rate of streaming video through live media libraries.
Reply
can u help us to find the frame of streaming video through live media libraries.
Reply
How can I include live555 in my already existing project?
Reply
thank you. the build is success. it created .obj files. but what I need is the .a file. where is it?
Reply
Hi,
I managed to go little further with this. The source files can be easily imported as a visual studio projects and nmake can be set up as external build tool.
With the following steps all nmake projects can be set up per live555 to get a solution.
for liveMedia:
VS2010 / File / New / Project from existing source
set project and source directory
set as external build tool
at external build tool pane
build, rebuild: nmake -b -f liveMedia.mak
clean: del *.obj; del *.lib
and works like charm
please note:
Its a pity that VS creates a solution per every Project from existing source appliance. But from that its easy to combine the created projects into a common solution.
nmake likes to work only from actual workdirectory, place the projects to the project directories or use cd before nmake,
Reply