UltraDefrag libraries written in C use the variadic macros feature defined in the C99 standard. Because the compiled binaries must be compatible with all the Windows editions starting with NT 4.0 a combination of two compilers is needed to build UltraDefrag: MinGW is used to build 32-bit binaries, Windows Driver Kit v7.1.0 is used for 64-bit binaries production.
MinGW needs to be patched to be able to compile UltraDefrag. Type build –help (see below) for details.
You can download the MinGW Developer Studio, if you need a fully functional development environment for MinGW. To build project files for it go to /src directory of the source tree and type:
In addition to the compilers a few other packages need to be installed as well:
To properly set up the build environment type:
To build UltraDefrag using defaults type:
To list all of the supported options type:
To select one of the predefined build actions type:
If you'd like to know, how the build process works, look at .cmd files - they contain the complete information.
If you are using MinGW Developer Studio, note that you cannot build proper .a files directly from IDE. So, when you change some DLL entries, you need to rebuild all to make these changes visible from other modules.