OpenDBX/Setup/Windows/Building with MinGW

From Linuxnetworks
< OpenDBX‎ | Setup/Windows
Revision as of 10:23, 27 June 2009 by Nose (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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"