Intel® C++ Compiler for Windows* - Fatal link error LNK1104 when using Intel® C++ Compiler with Boost* libraries
When building an application that uses the Boost libraries with the Intel® C++ Compiler, you may get linker errors like the ones shown below due to incorrect libraries being linked to the application:
fatal error LNK1104: cannot open file 'libboost_thread-iw-mt-1_33_1.lib' fatal error LNK1104: cannot open file 'libboost_thread-iw-1_33_1.lib'
The root cause is missing Boost libraries for the Intel® C++ Compiler.
The preferred solution is to recompile all required Boost libraries with the Intel® C++ Compiler (libraries with the infix "iw" are created because of this). However, this is not mandatory. The libraries provided for the different Microsoft Visual Studio* versions are safe to use as well. Perform the following steps to use them instead:
Open the Boost configuration file "auto_link.hpp".
// Intel C++, no version number:
# define BOOST_LIB_TOOLSET "iw"
Change "iw" depending on which Microsoft Visual Studio version you're using:
"vc71": Microsoft Visual Studio .NET 2003
"vc80": Microsoft Visual Studio 2005
"vc90": Microsoft Visual Studio 2008
"vc100": Microsoft Visual Studio 2010
"vc110": Microsoft Visual Studio 2012
"vc120": Microsoft Visual Studio 2013
"vc140": Microsoft Visual Studio 2015
Rebuild your application to resolve the linker errors.