Windows Development Notes

Code Generation Options

/MT or /MD option

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 and /MD should use release_md For debugging purpose, you can use release for /MTd and release_md for /MDd.
For linking of debugging builds, see Debug version of the library (Windows).

/EHsc option

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.

Configure Visual Studio

Select your project and select [Project - Properties]. Then Property Pages dialog opens. In [Configuration Properties - C/C++ - Code Generation], change the following ones:

The IDE settings on Visual Studio .NET 2003:

win_prop_mt.png

The IDE settings on Visual Studio 2005/2008:

vs8_prop1.png

C++ Language Options

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.

/Zc:wchar_t 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.

/Zc:forScope option

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.

/GR option

If you don't set /GR (Enable Run-Time Type Info), your code may produce some wrong result or cause runtime exceptions.

Configure Visual Studio

Select your project and select [Project - Properties]. Then Property Pages dialog opens. In [Configuration Properties - C/C++ - Language], change the following ones:

The IDE settings on Visual Studio .NET 2003:

win_prop_cpp.png

The IDE settings on Visual Studio 2005:

vs8_prop2.png

Other Configurations

/G7 Option

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.

Debugging Information

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 (dist-djvusdk) does not have any debugging information.

This document is made with doxygen 1.5.9 at Thu Jan 7 21:53:20 2010.
Caminova Logo