This library is fully thread-safe and provided as both of MT (Multi-thread) and MD (Multi-thread DLL) version libraries. Projects which uses /MT option should use release\DjVuEncoder.lib and /MD should use release_md\DjVuEncoder.lib For debugging purpose, you can use release\DjVuEncoder.lib for /MTd and release_md\DjVuEncoder.lib for /MDd.
Since the library uses C++ based exception handling, you should enable /EHsc option. Without this option, the compiler generates many warning messages asking you to enable the option.
Select your project and select [Project - Properties]. Then Property Pages dialog opens. In [Configuration Properties - C/C++ - Code Generation], change the following ones:
- Enable C++ Exceptions to Yes (/EHsc)
- Runtime Library to Multi-threaded (/MT) or Multi-threaded DLL (/MD)
The IDE settings on Visual Studio .NET 2003:
The IDE settings on Visual Studio 2005/2008:
The library is compiled with /Zc:forScope (Force Conformance in for loop scope) and /GR (Enable Run-Time Type Info) and without /Zc:wchar_t (Treat wchar_t as Built-in Type) option.
With Visual Studio .NET 2003, /Zc:wchar_t (Treat wchar_t as Built-in Type), should not be set (that is No on IDE).
But with Visual Studio 2005, /Zc:wchar_t, should be set (that is Yes on IDE). This is because of the breaking changes on VS 2005. For more information, see Breaking Changes in the Visual C++ 2005 Compiler on MSDN.
With wrong setting of /Zc:wchar_t, you may encounter the linking failure on String methods.
If you don't set /Zc:forScope (Force Conformance in for loop scope), some of the headers may produce some syntax errors; they're written in latest C++ standard and the compiler does not accept them.
If you don't set /GR (Enable Run-Time Type Info), your code may produce some wrong result or cause runtime exceptions.
Select your project and select [Project - Properties]. Then Property Pages dialog opens. In [Configuration Properties - C/C++ - Language], change the following ones:
- Treat wchar_t as Built-in Type to No
- Force Conformance In For Loop Scope to Yes (/Zc:forScope)
- Enable Run-Time Type Info to Yes (/GR)
The IDE settings on Visual Studio .NET 2003:
The IDE settings on Visual Studio 2005:
The code within the library is compiled with /G7 option, the code is optimized for Pentium 4 processors. With /G7 option, it does not introduce any Pentium 4 specific instructions sets, the library can also work with Pentium III processors.
We've removed all the debugging information from the library file. The library is built without any of /Zd, /Z7, /Zi, /ZI options. Your compiler may produce some warnings saying that the library (DjVuEncoder.lib) does not have any debugging information.
This document is automatically generated using doxygen 1.5.4 at Fri Jun 27 18:22:54 2008.