From 780b92ada9afcf1d58085a83a0b9e6bc982203d1 Mon Sep 17 00:00:00 2001
From: Lorry Tar Creator Library Version 11.2.5.3 Library Version 12.1.6.1 You should be using the "Debug Multithreaded DLL" compiler option in
-your application when you link with the
-build_windows\Debug\libdb48d.lib library (this .lib file
-is actually a stub for libdb48d.DLL). To check this
-setting in Visual C++, choose the Project/Settings menu
-item and select Code Generation under the tab marked
-C/C++; and see the box marked Use runtime
-library. This should be set to Debug Multithreaded DLL.
-If your application is linked against the static library,
-build_windows\Debug\libdb48sd.lib; then, you will want
-to set Use runtime library to Debug Multithreaded. Setting this option incorrectly can cause multiple versions of the
-standard libraries to be linked into your application (one on behalf
-of your application, and one on behalf of the Berkeley DB library). That
-violates assumptions made by these libraries, and traps can result.
-Also, using different Visual Studio compilers in the application and
-libraries can lead to a crash. So rebuild the application
-with the same Visual C++ version as that of the library.
-
+ Setting this option incorrectly can cause multiple
+ versions of the standard libraries to be linked into
+ your application (one on behalf of your application,
+ and onle on behalf of the Berkeley DB library). That
+ violates assumptions made by these libraries, and
+ traps can result.
+
+ Also, using different Visual Studio compilers in
+ the application and libraries can lead to a crash. So
+ rebuild the application with the same Visual C++
+ version as that of the library.
+ Berkeley DB does not use MFC at all. It does however, call malloc and free
-and other facilities provided by the Microsoft C runtime library. We
-found in our work that many applications and libraries are built
-assuming MFC, and specifying this for Berkeley DB solves various
-interoperation issues, and guarantees that the right runtime libraries
-are selected. Note that because we do not use MFC facilities, the MFC
-library DLL is not marked as a dependency for libdb.dll, but the
-appropriate Microsoft C runtime is.
+ Berkeley DB does not use MFC at all. It does
+ however, call malloc and free and other facilities
+ provided by the Microsoft C runtime library. We found
+ in our work that many applications and libraries are
+ built assuming MFC, and specifying this for Berkeley
+ DB solves various interoperation issues, and
+ guarantees that the right runtime libraries are
+ selected. Note that because we do not use MFC
+ facilities, the MFC library DLL is not marked as a
+ dependency for libdb.dll, but the appropriate
+ Microsoft C runtime is.
+ Follow the instructions in Building for UNIX/POSIX, and specify the --enable-mingw option to the
-configuration script. This configuration option currently only builds
-static versions of the library, it does not yet build a DLL version of
-the library, and file sizes are limited to 2GB (2^32 bytes.)
+ Follow the instructions in Building for UNIX/POSIX, and specify
+ the --enable-mingw option to the configuration script.
+ This configuration option currently only builds static
+ versions of the library, it does not yet build a DLL
+ version of the library, and file sizes are limited to
+ 2GB (2^32 bytes.)
+
- Windows 98/ME is no longer supported by Berkeley DB. The following is
- therefore only of interest to historical users of Berkeley DB.
-
- By default on Windows, Berkeley DB supports internationalized
- filenames by treating all directory paths and filenames passed to
- Berkeley DB methods as UTF-8 encoded strings. All paths are
- internally converted to wide character strings and passed to the
- wide character variants of Windows system calls.
-
- This allows applications to create and open databases with names
- that cannot be represented with ASCII names while maintaining
- compatibility with applications that work purely with ASCII paths.
-
- Windows 98 and ME do not support Unicode paths directly. To build for
- those versions of Windows, either:
-
+ By default on Windows, Berkeley DB supports
+ internationalized filenames by treating all directory
+ paths and filenames passed to Berkeley DB methods as
+ UTF-8 encoded strings. All paths are internally
+ converted to wide character strings and passed to the
+ wide character variants of Windows system calls.
+
+ This allows applications to create and open
+ databases with names that cannot be represented with
+ ASCII names while maintaining compatibility with
+ applications that work purely with ASCII paths.
+
+ Windows 98 and ME do not support Unicode paths
+ directly. To build for those versions of Windows,
+ either:
+
- Follow the instructions at
- Microsoft's web site.
-
+ Follow the instructions at
+ Microsoft's web site.
+ Open the workspace or solution file with Visual Studio. Then
-open the Project properties/settings section for the project you need to build
-(at least db_dll). In the C/C++->Preprocessor->Preprocessor
-Definitions section, remove _UNICODE and
-UNICODE entries. Add in an entry of
-_MBCS. Build the project as normal.
+ Open the workspace or solution file with
+ Visual Studio. Then open the Project
+ properties/settings section for the project
+ you need to build (at least db_dll). In the
+ C/C++->Preprocessor->Preprocessor
+ Definitions section, remove
+ _UNICODE and
+ UNICODE entries. Add
+ in an entry of _MBCS.
+ Build the project as normal.
+ The ASCII builds will also work on Windows NT/2K/XP/2003 and Windows7, but will
-not translate paths to wide character strings.
+ The ASCII builds will also work on newer versions of
+ Windows, but will not translate paths to wide character
+ strings.
+
@@ -42,97 +40,135 @@
@@ -22,9 +22,7 @@
Prev
- Chapter 5.
- Building Berkeley DB for Windows
-
+ Chapter 5. Building Berkeley DB for Windows
Next