天天看點

Windows平台使用VS2013編譯VLC源碼

一、前言

研究VLC源碼已有一段時間,一直未形成經驗文檔,借csdn部落格,記錄學習的過程及總結的經驗,抛磚引玉,期望能給同仁一點幫助。

二、準備工作

VS下編譯的VLC源碼目錄:https://github.com/sunqueen/vlc-2.2.1.32-2013

這個是sunqueen大神參考VLC源碼經過修改後的适合VS編譯器的源碼,我于2016年3月中旬将該源碼與VLC官網源碼對比後,發現基本邏輯保持一緻,僅修改了一些編譯不過的地方。修改點主要涉及到以下幾個部分

1、VS下不支援動态申請數組大小,申請的數組變量需在編譯前即指定大小等等問題。其它源碼

2、使用GetSystemTime、SystemTimeToFileTime等windows方法代替gettimeofday函數

    src\misc\mtime.c中sunqueen使用GetSystemTime、SystemTimeToFileTime代替gettimeofday函數擷取秒和納秒的原因是?

    src\video_output\snapshot.c使用 ftime代替gettimeofday

三、編譯所需軟體

1、安裝Visual Studio 2013

2、如果缺少windows的SDK開發包,需下載下傳一個。我使用的是windows7 32位旗艦版,下載下傳了Windows Software Development Kit for Windows 8.1

四、編譯遇到的問題

1、源碼下載下傳後編譯不過,報一堆錯誤。檢查電腦是否安裝了windows sdk開發包。(起初做了各種折騰,設定環境變量、修改工程配置等等雖然能編譯通過,但不是正道)

2、遇到一位同行在編譯VLC的時候報一堆錯誤。在安裝了windows sdk開發包後依然無法編譯,後定位原因是:需要更新Visual Studio 2013到update4以上。此處可以參考github官網上注明了“vlc-2.2.1 compile with VS2013 update 4”

繼續閱讀