Conventions

This document summarizes various naming conventions used for the project.

Version Numbers

The convention for version numbers is xx.yy.zzsn where:

xx is the major number
yy is the minor number
zz is the minor-minor number
s is a letter indicating the status of the release - a(lpha), b(eta), or f(inal)
n is an ordinal number
For example, the number identifying the latest version of ObjectHandler is 1.22.0f0.

The corresponding release my be referred to in the format Rxxyyzzsn, where R stands for release. For example, the release corresponding to version 1.22.0f0 is R012200f0.

Binary Names

Binary files that are output by the project - lib files, XLLs, executables - are named according to the conventions specified by the boost project:

http://www.boost.org/more/getting_started/windows.html#library-naming

For example, when you compile ObjectHandler version 1.22.0 using VC8 solution file ObjectHandler_vc8.sln, project ohlib, configuration Release (static runtime), the output file is ObjectHandler\lib\ObjectHandler-vc80-mt-s-1_22_0.lib.

Visual C++ Versions and Files

The table below summarizes the supported versions of Visual C++, the abbreviation given to each version, and the names used for solution and project files corresponding to that version:

VersionAbbreviationSolution Files
Project Files
Visual C++ 2005VC8xxx_vc8.sln
xxx_vc8.vcproj
Visual C++ 2008VC9xxx_vc9.sln
xxx_vc9.vcproj
Visual C++ 2010VC10xxx_vc10.sln
xxx_vc10.vcxproj
Visual C++ 2012VC11xxx_vc11.sln
xxx_vc11.vcxproj
Visual C++ 2013VC12xxx_vc12.sln
xxx_vc12.vcxproj

Be sure to open the files that correspond to the version of Visual C++ that you are using. If by mistake you open the files for an older version of VC, the project will be upgraded, but the dependencies will be wrong and the build will fail.

In the installation instructions, solution files may be referred to as xxx_vc?.sln, where ? corresponds to 8, 9, 10, 11, or 12 depending on the version of Visual C++ that you are using.

Visual C++ Versions and Files

The runtime library is a setting in Visual C++, found under Project Properties / Configuration Properties / C/C++ / Code Generation / Runtime Library:

The project files provide a separate configuration corresponding to each version of the runtime library. The table below summarizes the available configurations.

ConfigurationRuntime LibraryCompiler Flag
ReleaseMulti-threaded DLL/MD
Release (static runtime)Multi-threaded/MT
DebugMulti-threaded Debug DLL/MDd
Debug (static runtime)Multi-threaded Debug/MTd

All of the lib files linked into a given binary (.exe, .dll, .xll) must be compiled against the same runtime library.

If you compile your project against the DLL version of the runtime library then the resulting binary will have a dependency on the Microsoft runtime DLLs.

If you are using multiple XLLs linked dynamically at runtime, these must be compiled against a DLL version of the runtime library e.g. Release.