在windows下編譯x264

來源:互聯網
上載者:User

標籤:style   http   io   color   ar   os   sp   for   檔案   

最近因為各種原因,對流媒體的學習,突然中斷在了編碼這塊。今天難得靜下心來,從新拿起了代碼。

對encode這邊,因為之前雖然也接觸了,也找了兩個例子,但目前還沒真正開始,所以先從編譯x264這個庫開始吧。

找到之前下載的x264源碼庫(x264-snapshot-20130922-2245),然後將源碼複製到D:\msys\1.0\home\x264-20130922目錄下。

接著按照網上的教程,首先運行MINGW,然後切換到X264源碼路徑下;

再然後輸入:

$ ./configure --enable-shared

$ make

其中在make的時候,我這裡出現了報錯:

x264dll.c:30:13: error: conflicting types  for  ‘DllMain‘   BOOL  WINAPI DllMain(  HANDLE  hinstDLL,  DWORD  fdwReason,  LPVOID  lpvReserved )               ^ In file included from c:\mingw\include\windows.h:62:0,                   from common/win32thread.h:29,                   from common/osdep.h:207,                   from common/common.h:117,                   from x264dll.c:26: c:\mingw\include\winbase.h:1051:13: note: previous declaration of  ‘DllMain‘  was here   BOOL  WINAPI DllMain( HINSTANCE DWORD LPVOID );               ^ make: *** [x264dll.o] Error 1

然後我百度了下,在CSDN論壇中出現了跟我一樣的問題,有人發帖描述如下:

http://bbs.csdn.net/topics/390624451?page=1

然後我根據他們的提示,修改了D:\MinGW\include\winbase.h檔案;修改如下:

//BOOL WINAPI DllMain(HINSTANCE, DWORD, LPVOID);//default  modefy by lhp-20141114 for built x264

即屏蔽了這句話,然後在繼續make,結果就沒出現錯誤了,順利成功編譯。

接著我執行:

$make install

於是就會在D:\msys\1.0\local\目錄下產生了3個目錄,分別為:bin,include,lib,這3個目錄下的檔案就是剛剛執行make install以後安裝的。

接著我們要由dll-》lib檔案,好在VS裡面調用用;

於是我接下來,運行cmd,然後在cmd裡面找到VS2010安裝環境下的lib.exe,由它來產生lib,產生過程如下:

d:\Program Files\Microsoft Visual Studio 10.0\VC\bin>LIB /machine:x86 /def:d:\\l
ibx264-138.def /out:d:\\libx264-138.lib
Microsoft (R) Library Manager Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

正在建立庫 d:\\libx264-138.lib 和對象 d:\\libx264-138.exp

注意:

如果在產生期間出現缺少dll,就到vs安裝環境下把相應的庫拷貝到lib.exe目錄下,就可以了,我這裡拷貝的檔案為:msobj100.dll,mspdb100.dll,mspdbcore.dll,mspdbsrv.exe;

 

於是整個編譯過程完成。。。

 

在windows下編譯x264

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.