• (转)windows下编译最新的x264


    二:《windows下编译最新的x264》

     X264更新的比较快,每天都有更新,但算法模块,基本结构是没有多大变化的。x264都是用C语言写的包括C99,但C99语法是在VC中是没法用的(当然有精力可以全部改成C89),生成的.a库是也是没法调用的,如何转化成可用.lib库就比较重要了。 

    1下载最新的x264
    http://videolan.mirror.aussiehq.net.au/x264/snapshots/解压到d盘

    2下载mingw+msys进行配置,这里有已配置好的,直接下载用就可以了
    http://code.google.com/p/msys-cn/wiki/ChapterInstallation

    但是这个配置好的编译工具,没有包含Yasm,因此,在编译过程中会出现Found no assembler的字样

    解决方法:

    下载http://yasm.tortall.net/Download.html的源码,当前最新源码版本是1.2.0,下载Source .tar.gz,然后解压到D:yasm-1.2.0

    进入mingw+msys,执行msys.bat,依次执行命令

    cd /d/yasm-1.2.0 (进入目录)

    ./configure 回车 (执行配置文件)
    make 回车 (开始编译)
    make install 回车 (安装)
    安装后,将会在MSYS的目录下多出一个local目录,将此目录下的所有文件拷贝到MSYS的目录的mingw,我本机的目录为:G:VCx264 biludMSYSmingw
    3 编译x264 
    进入当前x264所在d盘的目录,执行./configure --enable-shared,然后make,即可生成x264的dll


    4 利用VC提供的工具导出lib
    下载poxports
    http://download.csdn.net/source/3036251解压到VC所在的安装目录,比如说
    C:/Program Files(x86)/Microsoft Visual Studio 10/VC/bin,解压以后pexports.exe拷贝至bin目录下
    导出lib库,win7下这个dll千万不能放上面bin的目录下,否则会出现could not load PE image
    pexports d:\libx264-120.dll > d:\libx264-120.def 
    lib /machine:x86 /def:d:\libx264-120.def /out:d:\libx264-120.lib

    5 测试导出的库是否正确
    拷贝新生成的库libx264-120.lib和libx264-120.dll到新建的win32 工程下
    拷贝原x264目录下的x264.h与x264_config.h至所建的win32工程下
    下载pthreadGC2.dll和stdint.h
    用如下程序测试
    #include <iostream>
    #include <string>
    #include "stdint.h"
    extern "C"
    {
    #include "x264.h"
    #include "x264_config.h"
    };
    using namespace std;
    int main()
    {
    x264_param_t param;
    x264_param_default(&param);
    return 0;
    }

    from:http://niulei20012001.blog.163.com/blog/static/7514721120122605835954/

    //

    以上两篇文章写的不错;

    如果要应用的话,还是要用最新版本的,vc版本可以学习用;

    关于第二篇文章,启动名字不太好,因为随着时间段推移,版本号会变,编译方法可能也会变化,所以,建议在标题中或内容中添加版本号

    这里要着重说一下第二篇文章,

    1,我在按照上面的方法configure的时候出现了一个问题,关于opencl的问题,版本是:x264-snapshot-20140520-2245 ;

    修改上面的configure命令为:./configure --enable-share --disable-opencl 

    编译通过;

    2,关于lib,不需要转化工具,直接将编译后的文件,libx264.dll.a 修改为 libx264.lib即可;

    出自:http://blog.csdn.net/chinabinlang/article/details/26452011

  • 相关阅读:
    SSH框架整合-myeclipse
    查看mysql数据库文件存放位置
    Java反射及注解学习- 反射的使用
    线程join方法demo-模拟叫号看病
    线程同步案例
    线程死锁示例
    《广西壮族自治区食品药品监督管理局》代码
    复习点算法知识,水仙花数加冒泡排序,以及一道算法题
    词性标注 HMM
    kd树
  • 原文地址:https://www.cnblogs.com/lihaiping/p/builtx264-2.html
Copyright © 2020-2023  润新知