I wanted to use an up-to-date build of HandBrake on my Windows machines, but I am not comfortable building from source in Windows. Thankfully, the HandBrake devs recently switched over to a cross-compile-compatible build chain using MinGW, so it's possible to build Windows executables from my Ubuntu box.
To start, we'll download the standard HandBrake dependencies, which you would already have installed if you've built it on a Linux system before:
sudo aptitude install subversion build-essential m4 wget autotools-dev yasm autoconf intltool libtool libbz2-dev zlib1g-devNext, we'll download the MinGW packages, which will install a Windows-compatible build chain on top of your Linux system:
sudo aptitude install mingw32Then, we'll pull down the latest code from the SVN repository:
svn co svn://svn.handbrake.fr/HandBrake/trunk HandBrakeSwitch to the newly downloaded code:
cd HandBrakeThen get the build started:
./configure --launch-jobs=0 --cross=i586-mingw32msvc --launchThings will chug along fine until the build script reaches the LAME library, at which point it will fail during the configure script with an error:
"configure: error: CHECK_TYPE_uint32_t - please report to lame-dev @ lists.sourceforge.net"To correct this, we'll need to open the configure script in a text editor:
gedit build/contrib/lame/lame/configureand then do a 'find and replace' to change all instances of this:
FILE *f = fopen ("conftest.val", "w")to this:
FILE *f = fopen ("conftest.val", "wb")After that, just go into your build directory and restart the build script (it will automatically remember that we're compiling for Windows):
cd build ; makeYou'll have to do the same thing for libogg when it fails. Apparently, this problem is somehow related to autoconf... Once the script finishes, you should be left with a shiny new binary named HandBrakeCLI.exe!
0 التعليقات:
إرسال تعليق