Compile Live555 using VS2010 Part 3


Part 3 is an updated version of compiling Live555 using VS2010 based on Live555 2013.02.27 build

1. Create an empty VS2010 C++ Solution as Live555
2. Within the Live555 solution, add sub projects to Live555 solution
3. The naming of the sub-project is preferred to follow live555 naming as shown



4. For sub-project BasicUsageEnvironment, groupsock, liveMedia and UsageEnvironment should be a static library project.



5. Now, copy each live555 folder into respective sub-project. From here, I will do an example for BasicUsage Environment project



6. Next, include all the file to BasicUsageEnvironment vcproj. Also, add additional include library.





7. Repeat step 5 and 6 for groupsock, liveMediaand UsageEnvironment.

8. For simplicity, compile each sub-project with project only build menu. This will help you to figure out any missing include file per sub-project basis.

9. If you manage to compile BasicUsageEnvironment, groupsock, liveMedia and UsageEnvironment sub-project successfully, it is time to work on Live555 main project. Include only the following files at Live555 as this example only interested in build Live555MediaServer




10. Mark mediaServer as main project and set the 4 sub-projects as project dependencies.




11. Set include directory for mediaServer



12. Set additional library (the library build of BasicUsageEnvironment, groupsock, liveMedia and UsageEnvironment will be located at Live555\debug folder) and additional dependencies of BasicUsageEnvironment.lib, groupsock.lib, liveMedia.lib,UsageEnvironment.lib and wsock32.lib





13. Put a debug point at live555MediaServer.cpp main(), then, press F5 to compile and run in debug mode. The project should compile successfully and pause at the debug point. If you continue the program, it will run as command prompt application of Live555MediaServer.

14. If you want to build other testProgs, you will have to create separate project for each of the test application because each testProgs are standalone application

Comments

  1. Hi. Ive followed your steps exactly but when trying to compile I get the error below. Can you please help me?

    2>BasicUsageEnvironment.lib(BasicUsageEnvironment.obj) : error LNK2019: unresolved external symbol _initializeWinsockIfNecessary referenced in function "protected: __thiscall BasicUsageEnvironment::BasicUsageEnvironment(class TaskScheduler &)" (??0BasicUsageEnvironment@@IAE@AAVTaskScheduler@@@Z)
    2>groupsock.lib(GroupsockHelper.obj) : error LNK2001: unresolved external symbol _initializeWinsockIfNecessary
    2>groupsock.lib(NetAddress.obj) : error LNK2019: unresolved external symbol _our_inet_addr referenced in function "public: __thiscall NetAddressList::NetAddressList(char const *)" (??0NetAddressList@@QAE@PBD@Z)
    2>groupsock.lib(GroupsockHelper.obj) : error LNK2001: unresolved external symbol _our_inet_addr
    2>groupsock.lib(GroupsockHelper.obj) : error LNK2019: unresolved external symbol _our_srandom referenced in function "unsigned int __cdecl ourIPAddress(class UsageEnvironment &)" (?ourIPAddress@@YAIAAVUsageEnvironment@@@Z)
    2>groupsock.lib(GroupsockHelper.obj) : error LNK2019: unresolved external symbol _our_random referenced in function "unsigned int __cdecl chooseRandomIPv4SSMAddress(class UsageEnvironment &)" (?chooseRandomIPv4SSMAddress@@YAIAAVUsageEnvironment@@@Z)
    2>liveMedia.lib(ProxyServerMediaSession.obj) : error LNK2001: unresolved external symbol _our_random
    2>c:\users\administrator\documents\visual studio 2010\Projects\Live555\Debug\mediaServer.exe : fatal error LNK1120: 8 unresolved externals
    2>
    2>Build FAILED.
    2>

    ReplyDelete
  2. Dear Thompson,
    I really appreciate if you can post your solution here. I've tried this method for the latest live555 (live.2013.10.11) and able to compile the 4 sub project successfully, but when I compile mediaServer it gives me this error:
    Error 2 error LNK2001: unresolved external symbol _our_MD5Data \live555\mediaServer\liveMedia.lib(RTSPClient.obj)
    Error 4 error LNK2019: unresolved external symbol _OnExpire referenced in function "private: void __thiscall RTCPInstance::onExpire1(void)" (?onExpire1@RTCPInstance@@AAEXXZ) \live555\mediaServer\liveMedia.lib(RTCP.obj) mediaServer
    Error 3 error LNK2019: unresolved external symbol _OnReceive referenced in function "private: void __thiscall RTCPInstance::onReceive(int,int,unsigned int)" (?onReceive@RTCPInstance@@AAEXHHI@Z) \live555\mediaServer\liveMedia.lib(RTCP.obj)


    ReplyDelete
  3. Can you send me the solution project?
    Thanks.

    ReplyDelete
  4. Can you send me the solution project?
    Thanks

    ReplyDelete

Post a Comment

Popular posts from this blog

FFMPEG - Creating timelapse with FFMPEG with JPEG

MP4 File Format Part 1

RTSP - RTP over TCP