Library Version 18.1.40

Additional build options
Prev | Chapter 4. Building Berkeley DB for Windows | Next

## Additional build options

There are several build options that you can configure when building Berkeley DB on Windows. To specify these, select `Project Properties`->`C/C++`->`Command Line` and add the property.

These are some of the additional properties that you can specify when you are building Berkeley DB on Windows:

- Enable failchk broadcasting. This feature allows DB_ENV->failchk() to inform all processes in the environment that a failure has occurred. Those processes will return DB_RUNRECOVERY rather than hanging for an indefinite amount of time.

- /D HAVE_LOCALIZATION

  Enable localized error message text, if available. This option should not be used when enabling stripped messages.

- /D HAVE_MIXED_SIZE_ADDRESSING

  Allows for the sharing of the BDB database environment between 32-bit and 64-bit applications. Note that if you use this macro to rebuild your Berkeley DB library, then you need to also rebuild both your 32-bit and 64-bit applications using /D HAVE_MIXED_SIZE_ADDRESSING.

  Note that use of this macro means that private environments are disabled for the library.

- /D HAVE_STRIPPED_MESSAGES

  Causes all error messages to be stripped of their textual information. This option should not be used when enabling localization support. Use of this property can reduce your library footprint by up to 42KB (for DLLs) or 98KB (for a .lib).

  Note that this option is automatically enabled if you build using the `db_small` project name. For more information on building a small library, see Building a small memory footprint library.

  If you use this build option, you can get an idea of what text should be issued for a given error message by using the Berkeley DB Message Reference Guide.

- /D DIAGNOSTIC

  Included automatically in the Debug build. Allows a number of additional checks to be performed when BDB is running, and also causes some failures to trigger process abort rather than returning errors to the application. Applications built using this option should not share database environments with applications built without this option. The `DIAGNOSTIC` option should not be specified when configuring to build production binaries because it degrades performance.

- /D UMRW

  Rational Software's Purify product and other software analysis run-time tools complain about uninitialized reads/writes of structure fields whose only purpose is padding, as well as when heap memory that was never initialized is written to disk. Specify this option during configuration to mask these errors. The `UMRW` option should not be specified when configuring to build production binaries.

  This flag can also be used to prevent data in the heap from leaking onto unused parts of database pages when using the environment flag DB_PRIVATE.

Prev | Up | Next
Distributing DLLs | Home | Building a small memory footprint library