Compiling and Linking Applications with SQLAPI++

To build and run a program that interfaces with a database using SQLAPI++ you need the following components of the library:

Header files - Compile time

Developers need to include SQLAPI++ header files into their source files. Those with a command-line compiler will typically use options such as /I%SQLAPIDIR%\include or -I${SQLAPIDIR}/include. The header files are in the include subdirectory of SQLAPI++ distributions.

#include <SQLAPI.h>

This is the main header of the library. Most of the time this is the only header that you need to write code with SQLAPI++. Classes in this header provide unified access to every supported database.

Occasionally, you may need to use a very specific feature available only for given database. In that case you need to also include one of the following headers to be able to leverage server-specific APIs:

Static or dynamic libraries - Link time

Developers need to link with static or dynamic libraries. Those with a command-line compiler will typically use options such as /L%SQLAPIDIR%\lib sqlapi.lib or -L${SQLAPIDIR}/lib -lsqlapi.

The libraries are in the lib subdirectory of SQLAPI++ distributions:

Windows
  • sqlapi.lib - for linking with release version of dynamic library (MS Visual Studio C++)
  • sqlapid.lib - for linking with debug version of dynamic library (MS Visual Studio C++)
  • sqlapis.lib - for linking with release version of static library (MS Visual Studio C++)
  • sqlapisd.lib - for linking with debug version of static library (MS Visual Studio C++)
  • sqlapib.lib - for linking with release version of dynamic library (Borland C++)
  • sqlapibd.lib - for linking with debug version of dynamic library (Borland C++)
  • sqlapibs.lib - for linking with release version of static library (Borland C++)
  • sqlapibsd.lib - for linking with debug version of static library (Borland C++)
  • libsqlapidll.a - for linking with release version of dynamic library (MinGW)
  • libsqlapiddll.a - for linking with debug version of dynamic library (MinGW)
  • libsqlapi.a - for linking with release version of static library (MinGW)
  • libsqlapid.a - for linking with debug version of static library (MinGW)
Linux/Unix
  • libsqlapi.so - for linking with release version of dynamic library (GNU C and C++ project compiler)
  • libsqlapid.so - for linking with debug version of dynamic library (GNU C and C++ project compiler)
  • libsqlapi.a - for linking with release version of static library (GNU C and C++ project compiler)
  • libsqlapid.a - for linking with debug version of static library (GNU C and C++ project compiler)
Tip
Unicode versions of the libraries have 'u' suffix. To compile and link the application with Unicode SQLAPI++ library use SA_UNICODE define.

Dynamic Link Libraries (DLLs) - Run time

Users of programs built with the dynamic SQLAPI++ libraries need those same dynamic libraries to run the programs. The DLLs are in the bin subdirectory of SQLAPI++ distributions:

Windows
  • sqlapi.dll - release version of dynamic library compiled with MS Visual Studio C++
  • sqlapid.dll - debug version of dynamic library compiled MS Visual Studio C++
  • sqlapib.dll - release library compiled with Borland C++
  • sqlapibd.dll - debug library compiled with Borland C++
  • libsqlapi.dll - release library compiled with MinGW
  • libsqlapid.dll - debug library compiled with MinGW
Linux/Unix
  • libsqlapi.so - for programs linked with the release version of dynamic library
  • libsqlapid.so - for programs linked with the debug version of dynamic library
FYI
Unicode versions of shared libraries have 'u' suffix.