win7下利用vs2010編譯librtmp靜態庫
一、編譯librtmp
下載rtmpdump的程式碼,你會發現,它是一個地道的linux專案,除了一個簡單的Makefile,其他什麼都沒有。好像librtmp不依賴於系統,我們可以不用費太多功夫,把它在windows上編譯。不過,librtmp依賴於openssl和zlib,我們需要首先編譯好它們。
1. 編譯openssl1.0.0e
a) 下載並安裝ActivePerl
b) 下載並安裝nasm(http://nasm.sourceforge.net/)
c) 解壓openssl壓縮包
d) 執行Visual Studio 命令提示符(2010),切到openssl目錄,分別執行以下命令
>perl Configure VC-WIN32 --prefix=c:\some\dir >ms\do_nasm
e) 分別執行以下命令。
>nmake -f ms\ntdll.mak >nmake -f ms\ntdll.mak install
f) 編譯完畢後,即可在第一個命令所指定的目錄c:\some\dir 下發現編譯好的sdk。
2. 編譯zlib
a) 解壓zlib壓縮包
b) 執行Visual Studio 命令提示符(2010),切到zlib-1.2.8根目錄(我下載的是zlib-1.2.8版本),分別執行以下命令
>cd contrib\masmx86 >bld_ml32.bat
c) 回到zlib-1.2.8根目錄,進入contrib\vstudio\vc10目錄,開啟vs2010解決方案檔案
>cd contrib\vstudio\vc10
在zlibstat工程屬性中,去掉前處理器定義中的預編譯巨集 ZLIB_WINAPI
d) 選擇debug或release編譯即可
3. 編譯librtmp
a) 首先開啟visual studio 2010,新建一個win32 console工程,取名為:librtmp,指定為靜態連結庫(下面的圖中是librtmp1,因為與正在開啟的librtmp工程名衝突,所以臨時指定的)
下載librtmp原始碼rtmpdump-2.3,解壓後如下圖:
b) 將上圖librtmp資料夾下的 *.h和 *.c檔案新增到剛才新建的工程中,
把openssl、zlib的標頭檔案和librtmp放在一起,把編譯好的openssl和zlib的靜態庫放在一起