diff options
Diffstat (limited to 'docs/installation/build_wince_faq.html')
| -rw-r--r-- | docs/installation/build_wince_faq.html | 185 |
1 files changed, 151 insertions, 34 deletions
diff --git a/docs/installation/build_wince_faq.html b/docs/installation/build_wince_faq.html index e5f64528..c22b356e 100644 --- a/docs/installation/build_wince_faq.html +++ b/docs/installation/build_wince_faq.html @@ -9,12 +9,12 @@ <link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" /> <link rel="up" href="build_wince.html" title="Chapter 6. Building Berkeley DB for Windows Mobile" /> <link rel="prev" href="build_wince_notes.html" title="Windows Mobile notes" /> - <link rel="next" href="build_unix.html" title="Chapter 7. Building Berkeley DB for UNIX/POSIX" /> + <link rel="next" href="build_winec_intro.html" title="Building for Windows Embedded Compact 7" /> </head> <body> <div xmlns="" class="navheader"> <div class="libver"> - <p>Library Version 11.2.5.3</p> + <p>Library Version 12.1.6.1</p> </div> <table width="100%" summary="Navigation header"> <tr> @@ -22,10 +22,8 @@ </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="build_wince_notes.html">Prev</a> </td> - <th width="60%" align="center">Chapter 6. - Building Berkeley DB for Windows Mobile - </th> - <td width="20%" align="right"> <a accesskey="n" href="build_unix.html">Next</a></td> + <th width="60%" align="center">Chapter 6. Building Berkeley DB for Windows Mobile </th> + <td width="20%" align="right"> <a accesskey="n" href="build_winec_intro.html">Next</a></td> </tr> </table> <hr /> @@ -40,58 +38,178 @@ </div> <div class="orderedlist"> <ol type="1"> + <li><span class="bold"><strong>What if my Windows Mobile device + does not support SetFilePointer and/or + SetEndOfFile?</strong></span><p> + You can manually disable the truncate functionality + from the build. + </p><p> + Do that by opening the + <code class="filename">db-X.X.X/build_wince/db_config.h</code> + file, and change the line that reads + </p><pre class="programlisting">#define HAVE_FTRUCATE 1</pre> + to read + <pre class="programlisting">#undef HAVE_FTRUNCATE</pre><p> + Making this change disables <a href="../api_reference/C/dbcompact.html" class="olink">DB->compact()</a> for btree + databases. + </p></li> <li> <span class="bold"> - <strong>What if my Windows Mobile device does not support SetFilePointer and/or SetEndOfFile?</strong> + <strong>Why doesn't automatic log archiving work?</strong> </span> - <p>You can manually disable the truncate functionality from the build.</p> - <p>Do that by opening the <code class="filename">db-X.X.X/build_wince/db_config.h</code> file, and change the line that reads </p> - <pre class="programlisting">#define HAVE_FTRUCATE 1</pre> - <p> to read </p> - <pre class="programlisting">#undef HAVE_FTRUNCATE</pre> - <p>Making this change disables <a href="../api_reference/C/dbcompact.html" class="olink">DB->compact()</a> for btree databases.</p> + <p> + The Windows Mobile platform does not have a concept + of a working directory. This means that the + <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_REMOVE" class="olink">DB_ARCH_REMOVE</a> and <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_ABS" class="olink">DB_ARCH_ABS</a> flags do not work + properly within Windows Mobile, because they rely on + having a working directory. + </p> + <p> + To work around this issue, you can call log_archive + with the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_LOG" class="olink">DB_ARCH_LOG</a> flag, the list of returned file + handles will not contain absolute paths. Your + application can take this list of files, construct + absolute paths, and delete the files. + </p> </li> <li> <span class="bold"> - <strong>Why doesn't automatic log archiving work?</strong> + <strong>Does Berkeley DB support Windows Mobile?</strong> </span> - <p>The Windows Mobile platform does not have a concept of a working directory. This means that the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_REMOVE" class="olink">DB_ARCH_REMOVE</a> and <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_ABS" class="olink">DB_ARCH_ABS</a> flags do not work properly within Windows Mobile, because they rely on having a working directory.</p> - <p> To work around this issue, you can call log_archive with the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_LOG" class="olink">DB_ARCH_LOG</a> flag, the list of returned file handles will not contain absolute paths. Your application can take this list of files, construct absolute paths, and delete the files.</p> + <p> + Yes. + </p> + <p> + Berkeley DB relies on a subset of the Windows API, + and some standard C library APIs. These are provided + by Windows CE. Windows Mobile is built "on top" of + Windows CE. + </p> </li> <li> <span class="bold"> - <strong>Does Berkeley DB support Windows Mobile?</strong> + <strong>Does Berkeley DB support Windows CE?</strong> </span> <p>Yes. </p> - <p>Berkeley DB relies on a subset of the Windows API, and some standard C library APIs. These are provided by Windows CE. Windows Mobile is built "on top" of Windows CE.</p> + <p> + Berkeley DB relies on a subset of the Windows API, + and some standard C library APIs. These are provided + by Windows CE. + </p> </li> <li> <span class="bold"> - <strong>Does Berkeley DB support Windows CE?</strong> + <strong>Does Berkeley DB support Windows Embedded + Compact 7?</strong> </span> <p>Yes. </p> - <p>Berkeley DB relies on a subset of the Windows API, and some standard C library APIs. These are provided by Windows CE.</p> + <p> + Starting from release 12.1.6.1, it is possible to build Berkeley DB + on Windows Embedded Compact 7. Below are tips for the build process: + </p> + <div class="orderedlist"> + <ol type="a"> + <li> + <span class="emphasis"> + <em>Compile error at line 146 in stdlib.h</em> + </span> + <p> + This is a known bug for the Windows Embedded Compact 7 SDK. + A workaround is to change the line 146 in stdlib.h to read: + </p> + <pre class="programlisting">__checkReturn __bcount(_Size) void * __cdecl _alloca(__in size_t +_Size);</pre> + </li> + <li> + <span class="emphasis"> + <em>error LNK2019: unresolved external symbol _localtime_s referenced in function _osLocaltime</em> + </span> + <p> + This link error is caused by the fact that the Windows + Embedded Compact 7 runtime used to link Berkeley DB does not + provide the localtime_s() function. A workaround is to add + </p> + <pre class="programlisting">HAVE_LOCALTIME_S=0</pre> + <p> + to the proprocessor definitions of the db_sql project. This + can be done by right clicking the db_sql project, select + Properties->Configuration Properties->C/C++->Preprocessor->Proprocessor Definitions, + and append </p> + <pre class="programlisting">HAVE_LOCALTIME_S=0</pre> + <p> + at the end of the list. + </p> + </li> + <li> + <span class="emphasis"> + <em>error LNK1221: a subsystem can't be inferred and must be defined</em> + </span> + <p> + This link error happens on Visual Studio 2008, because it + cannot understand the subsystem configured for Visual + Studio 2005. To fix this error, right click the project + reporting this link error, select Properties->Configuration Properties-> + Linker->System->SubSystem, and change the value to WindowsCE (/SUBSYSTEM:WINDOWSCE). + </p> + </li> + <li> + <span class="emphasis"> + <em>warning C4996: 'xxx': This function or variable may be unsafe.</em> + </span> + <p> + Used within the Berkeley DB source tree, these functions are actually safe. + You can safely ignore these warnings. + </p> + </li> + </ol> + </div> </li> <li> <span class="bold"> - <strong>What platforms are the supplied sample applications designed for?</strong> + <strong>What platforms are the supplied + sample applications designed for?</strong> </span> - <p>The supplied sample applications were developed for the Pocket PC 2003 emulator. They are known to work on real pocket PC devices and later versions of the emulator as well.</p> - <p>The supplied applications are not designed to work with Smartphone devices. The screen size and input mechanisms are not compatible.</p> + <p> + The supplied sample applications were developed for + the Pocket PC 2003 emulator. They are known to work on + real pocket PC devices and later versions of the + emulator as well. + </p> + <p> + The supplied applications are not designed to work + with Smartphone devices. The screen size and input + mechanisms are not compatible. + </p> </li> <li> <span class="bold"> - <strong>I see a file mapping error when opening a Berkeley DB environment or database. What is wrong?</strong> + <strong>I see a file mapping error when + opening a Berkeley DB environment or database. What is + wrong?</strong> </span> - <p>The default behavior of Berkeley DB is to use memory mapped files in the environment. Windows Mobile does not allow memory mapped files to be created on flash storage.</p> - <p>There are two workarounds:</p> + <p> + The default behavior of Berkeley DB is to use memory + mapped files in the environment. Windows Mobile does + not allow memory mapped files to be created on flash + storage. + </p> + <p> + There are two workarounds: + </p> <div class="orderedlist"> <ol type="a"> <li> - Configure the Berkeley DB environment not to use memory mapped files. The options are discussed in detail in - <a href="../programmer_reference/env_region.html" class="olink">Shared memory region</a>. - </li> - <li>Create the Berkeley DB environment on non-flash storage. It is possible to store database and log files in a different location to using the <a href="../api_reference/C/envset_data_dir.html" class="olink">DB_ENV->set_data_dir()</a> and <a href="../api_reference/C/envset_lg_dir.html" class="olink">DB_ENV->set_lg_dir()</a> APIs.</li> + Configure the Berkeley DB environment not + to use memory mapped files. The options are + discussed in detail in <a href="../programmer_reference/env_region.html" class="olink">Shared memory region</a>. + </li> + <li> + Create the Berkeley DB environment on + non-flash storage. It is possible to store + database and log files in a different location to + using the <a href="../api_reference/C/envadd_data_dir.html" class="olink">DB_ENV->add_data_dir()</a> and <a href="../api_reference/C/envset_lg_dir.html" class="olink">DB_ENV->set_lg_dir()</a> + APIs. + </li> </ol> </div> </li> @@ -106,16 +224,15 @@ <td width="20%" align="center"> <a accesskey="u" href="build_wince.html">Up</a> </td> - <td width="40%" align="right"> <a accesskey="n" href="build_unix.html">Next</a></td> + <td width="40%" align="right"> <a accesskey="n" href="build_winec_intro.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top">Windows Mobile notes </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> - <td width="40%" align="right" valign="top"> Chapter 7. - Building Berkeley DB for UNIX/POSIX - </td> + <td width="40%" align="right" valign="top"> Building for Windows + Embedded Compact 7</td> </tr> </table> </div> |
