zoukankan      html  css  js  c++  java
  • 在windows下编译x264

    最近因为各种原因,对流媒体的学习,突然中断在了编码这块。今天难得静下心来,从新拿起了代码。

    对encode这边,因为之前虽然也接触了,也找了两个例子,但目前还没真正开始,所以先从编译x264这个库开始吧。

    找到之前下载的x264源码库(x264-snapshot-20130922-2245),然后将源码复制到D:msys1.0homex264-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:mingwincludewindows.h:62:0,
                     from common/win32thread.h:29,
                     from common/osdep.h:207,
                     from common/common.h:117,
                     from x264dll.c:26:
    c:mingwincludewinbase.h:1051:13: note: previous declaration of 'DllMain' was
    here
     BOOL WINAPI DllMain(HINSTANCEDWORDLPVOID);
                 ^
    make: *** [x264dll.o] Error 1

    然后我百度了下,在CSDN论坛中出现了跟我一样的问题,有人发帖描述如下:

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

    然后我根据他们的提示,修改了D:MinGWincludewinbase.h文件;修改如下:

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

    即屏蔽了这句话,然后在继续make,结果就没出现错误了,顺利成功编译。

    接着我执行:

    $make install

    于是就会在D:msys1.0local目录下生成了3个目录,分别为:bin,include,lib,这3个目录下的文件就是刚刚执行make install以后安装的。

    接着我们要由dll-》lib文件,好在VS里面调用用;

    于是我接下来,运行cmd,然后在cmd里面找到VS2010安装环境下的lib.exe,由它来生成lib,生成过程如下:

    d:Program FilesMicrosoft Visual Studio 10.0VCin>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;

     

    于是整个编译过程完成。。。

     

  • 相关阅读:
    完美世界(完美世界(北京)网络技术有限公司)
    盛大
    虚商来袭,蜗牛免卡动真格了!--------------------------数据控?看看虚拟运营有多热
    使用properties配置文件为javabean注入属性值
    spring的list ,set,map,properties注入(set,get注入)
    控制反转和依赖注入
    bean的生命周期以及延迟实例化
    bean的单例
    spring的配置文件和加载
    mysql外键设置选项
  • 原文地址:https://www.cnblogs.com/lihaiping/p/builtx264.html
Copyright © 2011-2022 走看看