[X264] MinGW编译x264,VC中调用libx264.dll-------------<参考转>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值