82 lines
3.0 KiB
Plaintext
Executable File
82 lines
3.0 KiB
Plaintext
Executable File
Building on UNIX
|
|
================
|
|
|
|
The following build instructions are for the Linux/UNIX/Mac OS X
|
|
operating systems as well as for Cygwin and MinGW on Windows.
|
|
|
|
The standard autotools-based build system is used on these platforms. After
|
|
unpacking the source code archive, change to the libodb package directory
|
|
(referred to as libodb/ from now on) and run the configure script:
|
|
|
|
./configure
|
|
|
|
To see the available configuration options run configure with --help:
|
|
|
|
./configure --help
|
|
|
|
As an example, the following configure command only builds shared libraries,
|
|
uses the specified C++ compiler, and compiles with optimization and without
|
|
debug information:
|
|
|
|
./configure --disable-static CXX=g++-4.5 CXXFLAGS=-O3
|
|
|
|
Once configuration is complete, run make to build libodb:
|
|
|
|
make
|
|
|
|
Once the build is completed successfully, you can install the libodb headers
|
|
and libraries using the install target (you may need to do this step as root
|
|
depending on the installation directory):
|
|
|
|
make install
|
|
|
|
|
|
Building on Windows
|
|
===================
|
|
|
|
The following build instructions are for Windows using Microsoft Visual
|
|
Studio. If you would like to build libodb with GCC either using Cygwin
|
|
or MinGW, refer to the "Building on UNIX" section above.
|
|
|
|
The standard Visual Studio project and solution files are used on this
|
|
platform. To build libodb, unpack the source code archive and open the
|
|
libodb-vc<N>.sln file located in the libodb package directory (referred
|
|
to as libodb\ from now on). Here <N> is the version of Visual Studio that
|
|
you are using. Once the solution is open, select the desired build
|
|
configuration (Debug or Release) and platform (Win32 or x64) and build
|
|
the solution.
|
|
|
|
The resulting 32-bit DLLs and import libraries are placed into the
|
|
libodb\bin\ and libodb\lib\ directories, respectively. Similarly, the
|
|
64-bit DLLs and import libraries are placed into libodb\bin64\ and
|
|
libodb\lib64\. The Release versions of the import libraries are named
|
|
odb.lib and the Debug versions are named odb-d.lib.
|
|
|
|
To configure Visual Studio to automatically locate the libodb headers,
|
|
DLLs, and import libraries, add the following paths to your VC++
|
|
Directories:
|
|
|
|
Win32:
|
|
|
|
Include: ...\libodb
|
|
Library: ...\libodb\lib
|
|
Executable: ...\libodb\bin
|
|
|
|
x64:
|
|
|
|
Include: ...\libodb
|
|
Library: ...\libodb\lib64
|
|
Executable: ...\libodb\bin64
|
|
|
|
Note also that by default libodb uses the __declspec(thread) storage-class
|
|
modifier for TLS support. This mechanism is known not to work correctly on
|
|
Windows XP/Server 2003 and earlier versions of Windows if a DLL that uses
|
|
this modifier is loaded dynamically. If you are planning to link libodb to a
|
|
DLL that will be loaded dynamically (e.g., delay loading, COM DLL, explicit
|
|
LoadLibrary() call, etc), then you will need to comment out the definition
|
|
of the ODB_THREADS_TLS_DECLSPEC macro in the odb\details\config-vc.h file
|
|
prior to building libodb. On the other hand, if you plan to link libodb
|
|
directly to an executable or another DLL that will be linked directly to
|
|
an executable or if you only need to support Windows Vista/Server 2008,
|
|
then you don't need to make this change.
|