您的位置:首页 > 其它

[X264] MinGW编译x264,VC中调用libx264.dll

2014-11-05 22:43 465 查看
1. 下载并按照MinGW,最好就缺省按照
http://sourceforge.net/projects/ ... ler/mingw-get-inst/

把C:\MinGW\bin添加到PATH中 (dos命令行 PATH %PATH%;新目录;)

2. 下载Yasm,
http://yasm.tortall.net/Download.html
解压后改名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-142.dll, -142是我下载x264的版本号,这个有可能不一样的。

6. 安装pexports

在C:\MinGW\bin看看有没有pexports.exe, 如果没有

mingw-get install pexports

7. dll to def

pexports.exe libx264-142.dll > libx264-142.def

将dll里面所有的函数名提取出来

8. to lib

在..\VC\bin目录下有lib.exe文件,但一般都不能直接运行,少了一些dll.

拷贝Common7\IDE 里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll复制到上面的bin文件。

添加..\VC\bin目录到PATH。

lib.exe /machine:ix86 /def:libx264-142.def

生成libx264-142.lib。.lib文件是为了给linker用,这样可以方便的静态调用libx264-142.dll。

编译时不用.dll,运行的时候才用到。

9. 测试libx264-142.dll

9.1 新建一个空工程;

9.2 新建一个.cpp文件,复制一下内容

#include <stdio.h>

#include "stdint.h"

#pragma comment(lib,"libx264-142.lib") // 静态调用

extern "C"

{

#include "x264.h"

};

int main(void) {

printf("libx264-version:%d\n", X264_BUILD);

x264_param_t param;

x264_param_default(¶m);

return 0;

}

“stdint.h”会有问题,在网上搜一下吧。

9.3 拷贝x264目录下的 x264.h, x264_config.h。

9.4 拷贝libx264-142.lib到此工程目录下。

9.5 拷贝libx264-142.dll到该工程输出目录下(Debug 或者Release目录)。

应该就可以用了,试试吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: