To compile yourself:
qmake -rin main directory (will build the debug configuration which is faster to build, but uses big dll files; use
qmake -r CONFIG+=releasefor the release configuration)
Alternatively to running
qmake -r and
make manually, you might also want to build the project using Qt Creator by Qt Software. To do that, open the file
himd.pro located in the root directory of the source tree. If you want to run the GUI QHiMDTransfer tool, make sure to choose the run configuration qhimdtransfer instead of himdtest. The latter will just exit with an error code if no command line parameters are provided.
To test QHiMDTransfer:
Download everything and extract into your mingw root. It is
<QtDir>\mingw (<QtDir> means the directory where Qt is installed, usually C:\2010.xx.x). To run QHiMDTransfer, you just need the files from the runtime column. To compile QHiMDTransfer, you also need the development stuff. MinGW automatically gets installed if you install the Qt development kit for Windows.
|libmad (compiled by us)||libmad-runtime.zip||libmad-devel.zip|
|libmcrypt (compiled by us)||libmcrypt-runtime.zip||libmcrypt-devel.zip|
|taglib (compiled by us)||taglib-runtime.zip||taglib-devel.zip|
|glib (official release for mingw)||glib_2.24.1-1_win32.zip||glib-dev_2.24.1-1_win32.zip|
|gettext (release for mingw, offered by the gnome project)||gettext-runtime-0.17-1.zip||gettext-runtime-dev-0.17-1.zip|
|pkg-config (release for mingw, offered by the gnome project)||pkg-config-0.23-3_win32.zip|
|zlib (official release)||zlib-bin.zip||zlib-lib.zip*|
* Note: you need the zlib development files only for recompiling taglib, not for recompiling QHiMDTransfer
This stuff is not needed. It produces just the zip files linked above. The instructions shown should work on debian Linux.
Perform the following steps.
tar -xvzf libmad-0.15.1b.tar.gz patch -p0 < libmad.patch cd libmad-0.15.1b autoconf touch -d '1/1/1970' configure.ac ./configure --host=i586-mingw32msvc --prefix=/ --disable-static make make DESTDIR=`pwd`/tmp install cd tmp i586-mingw32msvc-strip bin/libmad-0.dll mkdir manifest echo bin/libmad-0.dll manifest/libmad-runtime.mft > manifest/libmad-runtime.mft echo lib/libmad.* include/mad.h manifest/libmad-devel.mft > manifest/libmad-devel.mft zip ../../libmad-runtime.zip bin/libmad-0.dll manifest/libmad-runtime.mft zip ../../libmad-devel.zip lib/libmad.* include/mad.h manifest/libmad-devel.mft
Perform the following steps.
tar -xvjf libmcrypt-2.5.8.tar.bz2 patch -p0 < libmcrypt.patch cd libmcrypt-2.5.8 autoconf touch -d '1/1/1970' configure.in ./configure --host=i586-mingw32msvc --prefix=/ --disable-static make make DESTDIR=`pwd`/tmp install cd tmp i586-mingw32msvc-strip bin/libmcrypt-4.dll mkdir manifest echo bin/libmcrypt-4.dll manifest/libmcrypt-runtime.mft | tr ' ' '\n' > manifest/libmcrypt-runtime.mft echo bin/libmcrypt-config include/mcrypt.h include/mutils/mcrypt.h lib/libmcrypt* share/aclocal/libmcrypt.m4 share/man/man3/* manifest/libmcrypt-devel.mft | tr ' ' '\n' > manifest/libmcrypt-devel.mft zip ../../libmcrypt-devel.zip -@ < manifest/libmcrypt-devel.mft zip ../../libmcrypt-runtime.zip -@ < manifest/libmcrypt-runtime.mft
Perform the following steps. It will build a static (minimal) sox library. mad support is disabled, as it won't link with a dynamic mad library because limitations of the Windows executable file format that would need an annotation in the mad include file (so it is essentially a bug in our mad build). As sox is only used to write wave files, disabling mad is no problem.
tar -xvzf sox-14.2.0.tar.gz cd sox-14.2.0 ./configure --host=i586-mingw32msvc --prefix=/ --disable-symlinks --without-mad make make DESTDIR=`pwd`/tmp install cd tmp i586-mingw32msvc-strip --strip-unneeded lib/libsox.a mkdir manifest find lib -type f > manifest/sox-devel.mft echo include/* manifest/sox-devel.mft | tr ' ' '\n' >> manifest/sox-devel.mft zip ../../sox-devel.zip -@ < manifest/sox-devel.mft
This has been done manually, so there is no ready-made script for it.
cmake -G "MinGW Makefiles"to create the Makefiles
mingw32-maketo build libtag
mingw32-make installto install (default destination:
stripon libtag.dll to reduce the size by removing debugging symbols