Using Berkeley DB XML on Windows

Berkeley DB XML Include File Locations
Berkeley DB XML Include File Locations
Berkeley DB XML DLL Names and Locations

An application which uses Berkeley DB XML relies on four libraries: Berkeley DB XML, Berkeley DB, XQilla, and Xerces C++. When compiling, some include files from these packages must be available, and the libraries must be included when linking the application.

When running the application, each of the DLLs must be available in a directory in the PATH. You can achieve this either by copying all of the DLLs into a directory that is already in your PATH, such as windows/system32, or by adding each of the directories containing one of the DLLs to your PATH variable. The default build of Berkeley DB XML places all library DLLs into a single directory to simplify this process.

Berkeley DB XML Include File Locations

A typical Berkeley DB XML application requires only include files from Berkeley DB XML and Berkeley DB. If an application uses interfaces from the Xerces C++ library, it must include Xerces header files as well.

The following are include file locations you may need for the Berkeley DB XML distribution. The include files are copied during the build. If you have a successful build, or you have the binary distribution, only the first location is necessary. Version numbers may need to be modified to match your distribution:

dbxml-6.0.xx/include
dbxml-6.0.xx/dbxml/include
dbxml-6.0.xx/db-6.1.26/build_windows
dbxml-6.0.xx/xerces-c-src/src

Berkeley DB XML Include File Locations

The Berkeley DB XML build places libraries against which applications must link in dbxml-6.0.xx/lib. This directory holds both Release and Debug .lib files. An application that uses only Berkeley DB XML interfaces is only required to link with the Berkeley DB XML library. If an application uses Berkeley DB or Xerces C++ interfaces, it is necessary to link with those libraries as well.

The following are the important library filenames for the Berkeley DB XML distribution (version numbers may need to be modified to match your distribution):

Release Build Debug Build
libdbxml60.lib libdbxml60d.lib
libdb61.lib libdb61d.lib
xerces-c_3.lib xerces-c_3D.lib

Berkeley DB XML DLL Names and Locations

The Berkeley DB XML build process places DLLs and executable files in dbxml-6.0.xx/bin for the Release build, and dbxml-6.0.xx/bin/debug for the Debug build. Unlike header files and .lib files, all library DLLs must be available at run time in the application's PATH environment variable.

The following are the DLLs required for Berkeley DB XML applications (version numbers may need to be modified to match your distribution):

Release Build Debug Build
libdbxml60.dll libdbxml60d.dll
libdb61.dll libdb61d.dll
xerces-c_3.dll xerces-c_3D.dll
xqilla23.dll xqilla23d.dll

A good way to ensure that your application uses the necessary header files and libraries is to use one of the Berkeley DB XML example projects (dbxml/build_windows/dbxml_example*) as a template for your application's project file.