📄 faq.so
字号:
m4_comment([$Id: faq.so,v 10.37 2007/05/30 08:39:08 alexg Exp $])m4_ref_title(Building m4_db for Windows systems, Windows FAQ, [@building for Windows FAQ, building for @Windows FAQ], build_win/notes, build_wince/intro)m4_nlistbeginm4_nlist([dnlm4_bold([dnlWhy do I have db_load.dll - where is db_load.exe?])m4_p([dnlMicrosoft Visual C++ .NET has some bugs related to converting projectfiles from VC++ 6.0 format and incorrectly converts the db_load project.For more information, see m4_linkweb([http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q321274&],[Microsoft's article about this bug]).])m4_p([dnlThe workaround is simply to switch the m4_bold(db_load) project back togenerating an EXE after converting to VC++ .NET. To do this, rightclick on db_load -__GT__ Properties and change "Configuration Type" from"Dynamic Library (.dll)" to "Application (.exe)".])])m4_nlist([dnlm4_bold([dnlMy Win* C/C++ application crashes in the m4_db library when m4_db callsfprintf (or some other standard C library function).])m4_p([dnlYou should be using the "Debug Multithreaded DLL" compiler option inyour application when you link with thebuild_windows\Debug\libdb[]M4MAJOR[]M4MINOR[]d.lib library (this .lib fileis actually a stub for libdb[]M4MAJOR[]M4MINOR[]d.DLL). To check thissetting in Visual C++, choose the m4_italic(Project/Settings) menuitem and select m4_italic(Code Generation) under the tab markedm4_italic(C/C++); and see the box marked m4_italic(Use runtimelibrary). This should be set to m4_italic(Debug Multithreaded DLL).If your application is linked against the static library,build_windows\Debug\libdb[]M4MAJOR[]M4MINOR[]sd.lib; then, you will wantto set m4_italic(Use runtime library) to m4_italic(Debug Multithreaded).])m4_p([dnlSetting this option incorrectly can cause multiple versions of thestandard libraries to be linked into your application (one on behalfof your application, and one on behalf of the m4_db library). Thatviolates assumptions made by these libraries, and traps can result.])])m4_nlist([dnlm4_bold([dnlWhy are the build options for DB_DLL marked as "Use MFC in a Shared DLL"?Does m4_db use MFC?])m4_p([dnlm4_db does not use MFC at all. It does however, call malloc and freeand other facilities provided by the Microsoft C runtime library. Wefound in our work that many applications and libraries are builtassuming MFC, and specifying this for m4_db solves variousinteroperation issues, and guarantees that the right runtime librariesare selected. Note that because we do not use MFC facilities, the MFClibrary DLL is not marked as a dependency for libdb.dll, but theappropriate Microsoft C runtime is.])])m4_idefz(configuring for @MinGW)m4_nlist([dnlm4_bold([dnlHow can I build m4_db for m4_linkweb(http://www.mingw.org, MinGW)?])m4_p([dnlFollow the instructions in m4_linkpage(M4RELDIR/ref/build_unix/intro,Building for UNIX/POSIX), and specify the --enable-mingw option to theconfiguration script. This configuration option currently only buildsstatic versions of the library, it does not yet build a DLL version ofthe library.])])m4_nlistendm4_page_footer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -