一步一步在Windows下用MinGW编译x264(x264-snapshot-20160119-2245)

来源:互联网 发布:淘宝网创立时间 编辑:程序博客网 时间:2024/06/07 03:00

最近需要编译 x264,在网上搜到的文章似乎不是写给完全没经验的人的,像我这种脱离了 VC IDE 就没法工作的程序员,按那些文章写的步骤总是遇到各种状况,全部解决了,记录一下详细的步骤以备忘。

目标是编译在 Windows 平台下,VC 2008 能用的 dll,以及对应的 lib 文件。

一、需要的工具和材料:

1. x264 源码 这个是必须有的。

下载地址:ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2

下载之后解压,最终得到一个类似 x264-snapshot-20160119-2245 这样的文件夹。

2. MinGW  编译工具,这个是必须有的。

下载地址:http://sourceforge.net/projects/mingw/files/latest/download?source=files

下载得到的是一个 mingw-get-setup.exe,需要运行安装。

3. yasm 汇编工具,这个必须有,否则配置x264编译项时会提示 Found no assembler。

下载地址:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe

3. pexports.exe从 dll 导出 .def 文件的工具,因为 MinGW 编译产生的是.a 文件。其实我看 .a 和 .lib 似乎没有区别,改个名字应该就可以用,所以这个工具不是必要的。

原始下载地址似乎打不开了?所以在 csdn 上搜了一个。

二、准备工作:

1. 安装 MinGW 

运行 mingw-get-setup.exe ,设置安装路径,请不要修改,直接使用默认路径 C:\MinGW。以下内容都以安装到 C:\MinGW 为例。

安装过程中,是联网下载的安装内容,因些需要保持网络畅通。

2. 安装 MinGW 组件

安装之后自动运行 MinGW Installation Manager,如果不小心关掉了,在“开始”菜单中也能找到。

在此界面上,Basic Setup 类别下以下几个是必选的:

mingw-developer-toolkit(bin)

mingw32-base(bin)

msys-base(bin)

另外,需要在 All Packages 类别的 MSYS/MSYS System Builder 子类别下选中 msys-gcc (bin) 项目。如果不选这个,过会编译时会提示找不到 C 编译器。

选好后,在菜单上点击 “Installation” - "Apply Changes",又开始下载组件并安装。

3. MinGW 环境设置

a.  设置 PATH 环境变量。在 “我的电脑“ 右键菜单点属性,再点左侧的 ”高级系统设置“ ,在弹出的系统属性对话框上点”高级“选项卡下面的”环境变量“。在环境变量设置中,给 PATH 添加一个 C:\MinGW\Bin。

b.  进入 C:\MinGW\msys\1.0\etc 文件夹,把 fstab.sample 文件复制一份,改名为 fstab,也就是不要扩展名了。然后用UltraEdit或其它文本编辑工具打开(不用记事本,因为换行符兼容性有问题。也可以使用 VC 2008 打开),看看是否有以下内容:

c:/mingw /mingw

默认是有的,如果你是安装在其它路径,那么就把 c:/mingw 改成你的安装目录。

4. 复制下载的 yasm-1.3.0-win32.exe 到 C:\MinGW\Bin 并改名为 yasm.exe。

三、编译:

1. 把 x264 源码文件夹复制到 C:\MinGW\msys\1.0\home,建议改名为 x264,名字短点方便一点。

2. 双击 C:\MinGW\msys\1.0\msys.bat

3. 输入 cd /c/MinGW/msys/1.0/home/x264 回车。这是进入刚才复制过来的 x264 的源码文件夹。

4. 输入 ./configure --enable-shared 回车。产生 config.mak 文件,这个过程会等待几秒。

5. 输入 make 回车。然后等待完成。

6. 输入 make install 回车。然后会在 C:\MinGW\msys\1.0\local 文件下生成 bin、include、lib 三个文件夹,里面就是我们需要的内容。

四、产生 lib 文件:

其实刚才生成的 lib 文件夹中的 libx264.dll.a 改个扩展名应该就能用,不过为了保险起见,还是生成一个 lib 文件放心点。

1. 复制下载的 pexports.exe 到 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin。如果你用的不是 VC 2008,而是其它版本,那么就复制到相应的 bin 目录。

2. 从开始菜单\所有程序\找到 VS 2008 的 ”Visual Studio 2008 命令提示“,并打开。

3. 输入 cd \MinGW\msys\1.0\local\bin 回车,进入刚才编译产生的 dll 文件所在的文件夹。

4. 输入 pexports.exe libx264-148.dll > libx264-148.def 回车,生成 .def 文件。

5. 输入 lib /machine:ix86 /def:libx264-148.def  回车,生成 .lib 文件。

OK,至此全部完成。


0 0
原创粉丝点击