Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
compilingwithmingw [2009/06/02 00:49] – Give a hint about debug/release versions megadiscman | compilingwithmingw [2010/06/20 18:47] – megadiscman |
---|
| |
To compile yourself: | To compile yourself: |
- Download [[ftp://ftp.trolltech.com/qt/source|Qt]] development kit, [[http://www.cmake.org|cmake]] and install; install Qt with the supplied MinGW into C:\MinGW | - Download [[http://qt.nokia.com/downloads|Qt development kit]] (choose "Go LGPL", then click on "Qt SDK for Windows") and install in a directory of your choice (default: C:\2010.xx.x , where 2010.xx.x is the version of your Qt installation) ; MinGW will be installed in Qt directory automatically |
| - Add some paths to your environment variables: <QtDir>\bin;<QtDir>\qt\bin;<QtDir>\mingw\bin (<QtDir> means the directory where Qt is installed, usually C:\2010.xx.x) |
- Download and install [[http://code.google.com/p/msysgit/|Git for Windows]] | - Download and install [[http://code.google.com/p/msysgit/|Git for Windows]] |
- Download the pre-compiled dependencies and extract them into the MinGW-root created by Qt-Installation (C:\MinGW) | - Download the pre-compiled dependencies and extract them into the MinGW-root created by Qt-Installation |
- Get the current sources (from git) | - Get the current sources (from git) |
- run ''qmake -r'' in main directory (will build the debug configuration which is faster to build, but uses **big** dll files; use ''qmake -r CONFIG+=release'' for the release configuration) | - run ''qmake -r'' in main directory (will build the debug configuration which is faster to build, but uses **big** dll files; use ''qmake -r CONFIG+=release'' for the release configuration) |
| |
To test QHiMDTransfer: | To test QHiMDTransfer: |
- Obtain Qt runtime libs (if you don't already have them installed: these two dlls should be enough: [[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/qtdllpack.zip|qtdllpack.zip]] with QtGui4.dll and QtCore4.dll). | |
- Obtain [[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/dllpack.zip|precompiled lib bundle]], extract to some dir in you Windows search path or in the same directory as the main executable. | Download and install [[http://users.physik.fu-berlin.de/~glaubitz/linux-minidisc/qhimdtransfer-win.exe|QHiMDTransfer]] windows self installer. Updated EXE file (now with recorder autodetection!) at [[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/himd-executables.zip|zipped QHiMDTransfer.exe]], will be merged to the installer soon. |
- Obtain the [[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/himd-executables.zip|QHiMDTransfer and himdtest]] executable | |
| |
===== Pre-Compiled dependencies ===== | ===== Pre-Compiled dependencies ===== |
Download everything and extract into your mingw root. It usually is ''C:\MinGW''. 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 [[http://www.qtsoftware.com/downloads|Qt development kit]] for Windows. Additionally, you need [[http://www.cmake.org/files/v2.6/cmake-2.6.4-win32-x86.exe|CMake]] | 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 [[http://www.qtsoftware.com/downloads|Qt development kit]] for Windows. |
| |
^ ^ runtime ^ development files ^ | ^ ^ runtime ^ development files ^ |
|libmad (compiled by us) |[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmad-runtime.zip|libmad-runtime.zip]]|[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmad-devel.zip|libmad-devel.zip]]| | |libmad (compiled by us) |[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmad-runtime.zip|libmad-runtime.zip]]|[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmad-devel.zip|libmad-devel.zip]]| |
|libmcrypt (compiled by us) |[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmcrypt-runtime.zip|libmcrypt-runtime.zip]]|[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmcrypt-devel.zip|libmcrypt-devel.zip]]| | |libmcrypt (compiled by us) |[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmcrypt-runtime.zip|libmcrypt-runtime.zip]]|[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/libmcrypt-devel.zip|libmcrypt-devel.zip]]| |
|glib (official release for mingw) |[[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.20/glib_2.20.1-1_win32.zip|glib_2.20.1-1_win32.zip]]|[[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.20/glib-dev_2.20.1-1_win32.zip|glib-dev_2.20.1-1_win32.zip]]| | |taglib (compiled by us) |[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/taglib-runtime.zip|taglib-runtime.zip]]|[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/taglib-devel.zip|taglib-devel.zip]]| |
| |glib (official release for mingw) |[[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.22/glib_2.22.4-1_win32.zip|glib_2.22.4-1_win32.zip]]|[[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.22/glib-dev_2.22.4-1_win32.zip|glib-dev_2.22.4-1_win32.zip]]| |
|gettext (release for mingw, offered by the gnome project) |[[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip|gettext-runtime-0.17-1.zip]]|[[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17-1.zip|gettext-runtime-dev-0.17-1.zip]]| | |gettext (release for mingw, offered by the gnome project) |[[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip|gettext-runtime-0.17-1.zip]]|[[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17-1.zip|gettext-runtime-dev-0.17-1.zip]]| |
|pkg-config (release for mingw, offered by the gnome project)| |[[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip|pkg-config-0.23-2.zip]]| | |pkg-config (release for mingw, offered by the gnome project)| |[[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip|pkg-config-0.23-3_win32.zip]]| |
|sox libraries(static)| |[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/sox-devel.zip|sox-devel.zip]]| | |sox libraries(static)| |[[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/sox-devel.zip|sox-devel.zip]]| |
| |zlib (official release) |[[http://gnuwin32.sourceforge.net/downlinks/zlib-bin-zip.php|zlib-bin.zip]]| [[http://gnuwin32.sourceforge.net/downlinks/zlib-lib-zip.php|zlib-lib.zip]]*| |
| |
| * Note: you need the zlib development files only for recompiling taglib, **not** for recompiling QHiMDTransfer |
| |
===== Rebuild instructions for GPL reasons ===== | ===== Rebuild instructions for GPL reasons ===== |
zip ../../sox-devel.zip -@ < manifest/sox-devel.mft | zip ../../sox-devel.zip -@ < manifest/sox-devel.mft |
</code> | </code> |
| |
| ==== Compile libtag in Windows (using MinGW) ==== |
| This has been done manually, so there is no ready-made script for it. |
| |
| - Get the zlib development files (linked above) and put them into your MinGW path. |
| - Get [[http://developer.kde.org/~wheeler/files/src/taglib-1.6.3.tar.gz|taglib-1.6.3.tar.gz]], local copy at [[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/taglib-1.6.3.tar.gz|taglib-1.6.3.tar.gz]] for GPL reasons (I am distributing a binary) |
| - Apply this patch to the CMakeLists.txt to help cmake find zlib: [[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/taglib-cmake.diff|taglib-cmake.diff]] |
| - run ''cmake -G "MinGW Makefiles"'' to create the Makefiles |
| - run ''mingw32-make'' to build libtag |
| - run ''mingw32-make install'' to install (default destination: ''%Program Files%\taglib'') |
| - run ''strip'' on libtag.dll to reduce the size by removing debugging symbols |
| - put libtag.dll into a zip file to obtain the "runtime" zip file linked above. |
| - We don't need the C bindings, so you can remove ''lib\taglib_c.dll.a'', ''lib\pkgconfig\taglib_c.pc'', ''include\tag_c.h'' |
| - Add the missing pkg-config file from [[http://users.physik.fu-berlin.de/~mkarcher/mingwstuff/taglib.pc|taglib.pc]] into ''lib\pkgconfig'' |
| - pack the contents of ''include'' and ''lib'' to get ''taglib-devel.zip'' |
| |