live555 visual 2005 编译

live555  是一個很有用的多媒體串流程式庫, 其中包含了許多有用的 source code, 例如: 他實做了 RTP/RTCP/RTSP/SIP  串流的接收與傳送,  一些有名的多媒體串流播放器如: VLC 或 MPlayer, 都是使用這個 library 做串流的處理 .

所以呢..... 如果想要搞清楚這些串流是怎麼一回事, 最好把 source code 拿回來編譯一下.

你可以在下面拿到 live media 專案的 source code

http://www.live555.com/liveMedia/

因為原來介紹的編譯方法, 已經不適用於 Visual Studio 2005 了, 所以 Steve 先生, 提出了他的解決方案, 你可以在下面的 blog 得到相關的編譯知識.

http://letsgoustc.spaces.live.com/blog/cns!89AD27DFB5E249BA!167.entry

 

為了怕他的 blog 掛掉, 或者是文章刪除, 所以我這裡複製了一份他的作法, 並根據  live.2008.09.02.tar.gz 這個版本, 做了必要的修正. (如果不做修正, 則會編譯失敗)

如果你按照下面的作法, 應該能夠安安靜靜並且非常順利地編譯完成.

請注意版本

  1.  liveMedia 版本為 live.2008.09.02

  2. Visual Studio 2005

 

Step 1. 設定編譯器位置

打開 win32config 檔案, 修改 "TOOLS32 = ..."  為 你的 Visual Studio 2005 VC 的位置

ex:

"TOOLS32 =  C:/Program Files/Microsoft Visual Studio 8/VC"

Step 2. 修正錯誤的檔名

     a.   把 win32config 裡面的

            "LINK_OPTS_0 =  $(linkdebug) msvicrt.lib" 改成

            "LINK_OPTS_0 =  $(linkdebug) msvcrt.lib"

Step 3. 建立 Makefile

      直接執行 genWindowsMakefiles.cmd

 

<下面這部分不用作了>

4. Modify liveMedia/RTSPOverHTTPServer.cpp to add the following code:

#include <string.h> 
#if defined(__WIN32__) || defined(_WIN32) 
#define snprintf _snprintf 
#endif

Step 4: 修改程式碼 (下面是 Jing 的修正)

   1. 修改 /group/Groupsock.cpp

#if (defined(__WIN32__) || defined(_WIN32)) && !defined(__MINGW32__) 
#include <strstrea.h>

改為

#if (defined(__WIN32__) || defined(_WIN32)) && !defined(__MINGW32__) 
#include <strstream> 

  2. 修改 /group/NetInterface.cpp 第 26 行

#include <strstrea.h> 改為 #include <strstream> 

Step 5.  新增 Makefile 設定 

      a. 打開 groupsock/Makefile.head

      b. 修改

           "INCLUDES = -Iinclude -I../UsageEnvironment/include"

           成為

            "INCLUDES = -Iinclude -I../UsageEnvironment/include -DNO_STRSTREAM".

 

Step 6. 建立 build.bat 命令批次檔

把下面的文件內容, 存成 build.bat 檔, 存放在 live 目錄底下

-----------------------------------------------------------------------------------

call "C:/Program Files/Microsoft Visual Studio 8/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

-----------------------------------------------------------------------------------

Step 7. 開始編譯

             執行 build.bat

你可能感兴趣的:(2005,Visual,ive555)