Windows下编译x264(一点经验教训)

我编译x264比较波折,这里记录、分享出来,希望能为新入门的朋友以帮助。
编译的过程就不多做叙述了,基本参考下面的文章,在此对分享者表示感谢:
http://blog.csdn.net/chinabinlang/article/details/26452011

我的教训是,由于第一次编译,于是百度,发现需要msys,于是下载msys然后各种尝试、各种整合,下载各种插件、各种工具,各种不行。

再后来知道有替代的mingw,然后下载、安装,又是各种整合尝试。还是不行。

再后来无奈了,就卸载、删掉了全部的msys、mingw,这回直接使用mingw,用它的配置管理器把所有msys的工具都安装了。再试,不报错了。就是提示缺少stdint.h文件,于是我把代码中的该文件cp到/include目录,configure,make,竟然通过。太兴奋了。

折腾了一天多,得到一个教训,尽量搜集完整的、经他人整理整合过的资料进行参考,零散的、片段化的资料,总是会带给你意想不到的“惊异”!
另外,需要什么工具啥的,最好去官网下载,而不是搜索什么网站下载。

关于libx264.dll 和 libx264.lib
要想生成windows的动态库和静态引导库,需要在configure时做一下配置,使用如下命令:
./configure –enable-shared
之后make编译,这样,会生成三个文件:
libx264.a:这个是linux的静态库。
libx264.dll.a:将文件名字修改为libx264.lib,它是dll文件的引导lib。修改完名字之后在VC工程中就可以作为“附加依赖项”了。
libx264-148.dll:dll文件,其中148是版本,不要修改或去掉。

在VC工程使用 .lib 和 .dll ,会提示缺少 libgcc_s_dw2-1.dll, pthreadGC2.dll 等,从mingw搜索拷贝过去就行了。

附简单的测试代码

#include 
#include 
#include "stdint.h"
extern "C"
{
#include "x264.h"
#include "x264_config.h"
};
using namespace std;
int main()
{
    x264_param_t param;
    x264_param_default(¶m);
    getchar();
    return 0;
}

你可能感兴趣的:(音视频流媒体)