Ubuntu 下编译交叉编译Windows下的x264

由于有一项临时需求,需要手动为windows平台编译一个修改过的x264的exe版本,于是在windows当中使用mingw来编译x264,但是编译总是出错。

于是选择了在Ubuntu  下使用Mingw来交叉编译windows使用的x264.exe执行程序。


本人使用的是Ubuntu 16.04,由于系统当中的编译链并不是windows可用的编译链,需要手动安装MingW交叉编译工具。

1、首先需要运行命令来安装MinGW

sudo apt-get install mingw-w64

在这个步骤之前,最好在系统当中已经存在默认的编译工具链,运行

sudo apt-get install build-essential

来安装linux系统默认编译链


2、下载并解压x264源码到 ~/x264

3、在终端当中cd到~/x264目录,并且使用MinGW 来为其配置交叉编译工具链

./configure --host=x86_64-w64-mingw32 --cross-prefix=/usr/bin/x86_64-w64-mingw32- --sysroot=/usr/i686-w64-mingw32 

解释:因为我要编译的64位系统下的x264.exe, 所以我使用的MinGW工具链主机名为:
x86_64-w64-mingw32

编译工具链所在的目录以及gcc文件前缀为:

/usr/bin/x86_64-w64-mingw32-

该编译链的系统根目录(也就是标准库的include和lib目录所在路径)为:

/usr/x86_64-w64-mingw32

回车以后,控制台会打印如下信息:

~/x264$ ./configure --host=x86_64-w64-mingw32 --cross-prefix=/usr/bin/x86_64-w64-mingw32- --sysroot=/usr/x86_64-w64-mingw32
platform:      X86_64
byte order:    little-endian
system:        WINDOWS
cli:           yes
libx264:       internal
shared:        no
static:        no
asm:           yes
interlaced:    yes
avs:           avisynth
lavf:          no
ffms:          no
mp4:           no
gpl:           yes
thread:        win32
opencl:        yes
filters:       crop select_every 
lto:           no
debug:         no
gprof:         no
strip:         no
PIC:           no
bit depth:     8
chroma format: all

You can run 'make' or 'make fprofiled' now.

说明我们此时已经配置好了用于编译windows版的x264了


4、接下来,最后一步只要运行一下我们的构建命令

make

便可以万事大吉了。如果需要静态编译exe, 在congfigure命令执行可以加入开关--enable-static。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值