OpenDBX/Setup/Windows/Building with MinGW
MinGW is a collection of freely available and freely distributable Windows specific header files and import libraries, augmenting the GNU Compiler Collection, (GCC), and its associated tools, (GNU binutils). MinGW provides a complete Open Source programming tool set which is suitable for the development of native Windows programs that do not depend on any 3rd-party C runtime DLL.
Download the following packages from the MinGW Sourceforge page:
- Automated MinGW installer
- MSYS base system (executable of current release)
There are some tutorials available, how to install MinGW:
The steps to build the OpenDBX library are the same as in the Unix environment.
It's hard to build the applications in the "utils/" directory because of the dependencies. The easiest way is to disable building the utilities. Alternatively, you can try installing the required header and library files (complete sources) for Windows:
By default, the packages are installed in "C:\Program Files\GnuWin32", so you have to add the "include/" and "lib/" directory to ./configure:
CPPFLAGS="-I/c/Progra~1/GnuWin32/include" \ LDFLAGS="-L/c/Progra~1/GnuWin32/lib" \ ./configure --with-backends="sqlite3"
Please note that it seems not be possible to use "Program Files" instead of "Progra~1" as this leads to a weird error message that the C compiler cannot create executables.
All backends could be build invoking ./configure like shown below. Please keep in mind that the paths may differ depending on the location of the installed packages:
CPPFLAGS=" \ -I/c/Progra~1/MySQL/MySQLS~1.0/include/ \ -I/c/Progra~1/PostgreSQL/8.3/include/ \ -I/c/Progra~1/Firebird/Firebird_2_1/include/ \ -I/c/Progra~1/sybase/OCS-15_0/include/ \ -I/c/Progra~1/Oracle/product/11.1.0/instantclient_11_1/sdk/include \ -I/c/Progra~1/GnuWin32/include \ " \ LDFLAGS=" \ -L/c/Progra~1/MySQL/MySQLS~1.0/bin \ -L/c/Progra~1/MySQL/MySQLS~1.0/lib/opt \ -L/c/Progra~1/PostgreSQL/8.3/bin \ -L/c/Progra~1/Firebird/Firebird_2_1/lib \ -L/c/Progra~1/Firebird/Firebird_2_1/bin \ -L/c/Progra~1/sybase/OCS-15_0/dll \ -L/c/Progra~1/Oracle/product/11.1.0/instantclient_11_1 \ -L/c/Progra~1/GnuWin32/lib \ " \ ./configure --with-backends="mssql mysql odbc oracle pgsql sqlite3 sybase"