For someone coming from a windows background, where you do virtually everything,
using GUI probably with Visual studio or an equivalent IDE, compiling a program
from the command line can be a daunting task.
This blog post will guide you through compiling and building the popular open source
video encoding library on windows using the MinGW(Minimalist GNU on Windows).
First you need to download the x264 source code from
Or if you know how to use git, you can git clone the x264
Then you should download MinGW from http://sourceforge.net/projects/mingw/files
mingw-get-inst-20111118.exe (591.9 kB) install it and during the installation steps,
select all the check boxes.
After the installation is completed, then from Start button , click All program,
then click MinGW and then Click on MinGW shell, this brings up the following window
From the msys shell change your directory to the location where your x264 source
code is, in my own case the x264 code is in the c: drive so I will simply Type cd
Then type ./configure
and press enter, this screen waits for some seconds
and the bring
Then you can now type make
and press enter, this will bring up the window
below, showing the progress of the compilation process.
After the compilation is finished, if you look into your x264 directory you will
Now compiling the x264 into a dynamic link library that can be used in Visual studio
takes another process entirely. Open the MinGW bash once again and change the directory
to the location of your x264 source code, just like you did previously.
./configure --disable-cli --enable-shared --extra-ldflags=-Wl,--output-def=libx264-120.def
./configure --disable-cli --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def
Now in libx264-120.def “120” is the version of the x264 you are using, you can find
the version of the x264 you are using by opening the x264.h file in your x264 source
folder you will see something like this #define X264_BUILD 120
on your version.
You can now type the make
command and press enter and you will find the libx264-120.dll
in your x264 source folder. Then rename libx264-120.dll
and you have you dynamic link library to work with.
If you wish to generate the Visual Studio .lib file to work with then open a Visual
Studio command prompt, and change the directory to the location of the x264 source
Then run this command
Then press enter
And your libx264.lib would be generated.