1. 程式人生 > >[X264] MinGW編譯x264,VC中調用libx264.dll-------------<參考轉>

[X264] MinGW編譯x264,VC中調用libx264.dll-------------<參考轉>

-1 bin文件 source color turn 9.4 make int lease

1. 下載並按照MinGW,最好就缺省按照
http://sourceforge.net/projects/ ... ler/mingw-get-inst/
把C:\MinGW\bin添加到PATH中 (dos命令行 PATH %PATH%;新目錄;)
2. 下載nasm,
http://www.nasm.us/pub/nasm/releasebuilds/
解壓後把nasm.exe拷貝到C:\MinGW\bin中
3. 下載最新的x264
http://www.videolan.org/developers/x264.html
4. 運行C:\MinGW\msys\1.0\msys.bat,啟動MinGW,cd到x264目錄

5../configure

./make
將會生成x264.exe 和 libx264.a。x264.exe可以進行編碼。

./configure --enable-shared
./make
將會生成libx264-152.dll, -152是我下載x264的版本號,這個有可能不一樣的。
6. 安裝pexports
在C:\MinGW\bin看看有沒有pexports.exe, 如果沒有
mingw-get install pexports
7. dll to def
pexports.exe libx264-152.dll > libx264-152.def


將dll裏面所有的函數名提取出來
8. to lib
在..\VC\bin目錄下有lib.exe文件,但一般都不能直接運行,少了一些dll.
拷貝Common7\IDE 裏面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll復制到上面的bin文件。(vs2013 應該是120 ,而且也不用拷貝這些)
添加..\VC\bin目錄到PATH。
lib.exe /machine:ix86 /def:libx264-152.def
生成libx264-152.lib。.lib文件是為了給linker用,這樣可以方便的靜態調用libx264-152.dll。
編譯時不用.dll,運行的時候才用到。

9. 測試libx264-152.dll
9.1 新建一個空工程;
9.2 新建一個.cpp文件,復制一下內容
#include <stdio.h>
#include "stdint.h"

#pragma comment(lib,"libx264-152.lib") // 靜態調用
extern "C"
{
#include "x264.h"
};

int main(void) {
printf("libx264-version:%d\n", X264_BUILD);

x264_param_t param;
x264_param_default(&param);
return 0;
}
“stdint.h”會有問題,在網上搜一下吧。
9.3 拷貝x264目錄下的 x264.h, x264_config.h。
9.4 拷貝libx264-152.lib到此工程目錄下。
9.5 拷貝libx264-152.dll到該工程輸出目錄下(Debug 或者Release目錄)。
應該就可以用了,試試吧。

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

http://blog.csdn.net/huibailingyu/article/details/40835825

[X264] MinGW編譯x264,VC中調用libx264.dll-------------<參考轉>