# Windows* OS

The installation location for Windows* operating systems depends upon the installer. This section uses <install-dir> to indicate the top-level installation directory. The following table describes the subdirectory structure for Windows*OS, relative to <install-dir>.

Intel® Threading Building Blocks (Intel® TBB) Subdirectories on Windows* OS
Item | Location | Environment Variable
--- | --- | ---
Include files | `include``\tbb\*.h` | `INCLUDE`
.lib files | `lib\<arch >\vc <vcversion >\<lib ><variant >.lib` | `LIB`
.dll files | `..\redist\ <arch>\tbb\vc <vcversion> \<lib ><variant >.dll`
<arch> | Processor
--- | ---
ia32 | Intel® IA-32 processors
intel64 | Intel® 64 architecture processors
<vcversion> | Environment
--- | ---
8 | Microsoft Visual Studio* 2005
9 | Microsoft Visual Studio* 2008
10 | Microsoft Visual Studio* 2010
_mt | Independent of Microsoft Visual Studio* version.
<lib> | Version
--- | ---
`tbb` | General library
`tbbmalloc` | Memory allocator
`tbbmalloc_proxy` | Substitution for default memory allocator
`tbb_preview` | Community preview features library
<variant> | Version
--- | ---
(none) | Release version
`_debug` | Debug version
| `PATH`
.pdb files | Same as corresponding `.dll` file.
Examples | `examples\<class>\*\.` |
Microsoft Visual Studio Solution File for Example | `examples\<class>\*\msvs\*<compiler>.sln` where: class describes the class being demonstrated.
<compiler> | Version
--- | ---
`cl` | Microsoft* Visual C++*
`icl` | Intel® C++ Compiler
| ``

The last column shows which environment variables are used by the Microsoft or Intel compilers to find these subdirectories.

### Caution

Ensure that the relevant product directories are mentioned by the environment variables; otherwise the compiler might not find the required files.

### Caution

Windows* OS run-time libraries come in thread-safe and thread-unsafe forms. Using non-thread-safe versions with Intel® TBB may cause undefined results. When using Intel® TBB, be sure to link with the thread-safe versions. The following shows the compiler options for linking with thread-safe versions of C/C++ run-time for `cl` or `icl`:

- Options for dynamic linking: /MDd (debug); /MD (release)
- Options for static linking: /MTd (debug); /MT (release)

Not using one of these options causes Intel® TBB to report an error during compilation. In all cases, linking to the Intel® TBB library is dynamic.

Parent topic: Package Contents

- Microsoft Visual Studio* Code Examples
- Integration Plug-In for Microsoft Visual Studio* Projects