Windows下编译x264(一点经验教训)
2015-07-30 11:02
253 查看
我编译x264比较波折,这里记录、分享出来,希望能为新入门的朋友以帮助。
编译的过程就不多做叙述了,基本参考下面的文章,在此对分享者表示感谢:
/article/8125629.html
我的教训是,由于第一次编译,于是百度,发现需要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搜索拷贝过去就行了。
附简单的测试代码:
编译的过程就不多做叙述了,基本参考下面的文章,在此对分享者表示感谢:
/article/8125629.html
我的教训是,由于第一次编译,于是百度,发现需要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 <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(¶m); getchar(); return 0; }
相关文章推荐
- mybatis和hibernate的异同
- 消息框Messager使用方法
- 代码大全2-软件构建中的设计
- 表单三件套之一“上传插件” Plupload--网络转载
- vi/vim 基本使用方法
- HDU 3313 Key Vertex(BFS+BFS) 求S点到T点路径的关键点
- Mybatis包分页查询java公共类
- 正交实验设计法设计测试用例
- dicom网络通讯入门(1)
- 从头开始写项目Makefile(四):伪目标 .
- 使用WEBStorage+JSON做简易数据库
- 详解spring 每个jar的作用
- 详解spring 每个jar的作用
- 详解spring 每个jar的作用
- C#窗口实现单例模式的方法
- 设计模式 1-单例模式(Singleton)
- 属性通知之ObservableCollection
- 大数据:protobuf是啥玩意儿
- Java中static final 关键字释惑
- OpenCV向JNI层的参数转换