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".
- Search for
// 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.
Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização