link 链接器-> 输入中不存在的库错误

link error for library which doesn't exist in Linker->Input

我正在将 Berkley 的 Caffe 编译成静态库、MT、MSVC 12 (VS2013) 并将其链接到 dll。
它工作正常。
现在我正在尝试使用 Intel C++ 2015 编译器对其进行编译 - 静态库构建正常,但依赖的 dll 失败并出现以下链接器错误:

fatal error LNK1104: cannot open file 'libboost_thread-iw-mt-s-1_58.lib'

我的 Boost 构建中确实没有这样的库,但我不知道这种依赖性来自哪里。除了编译器我没有更改任何其他设置,而且我在我的 dll 的 Linker->Input->Additional dependencies 的 Caffe 中都找不到那个 Boost lib。
我该如何解决这个问题?
谢谢!

在此处找到解决方案:https://software.intel.com/en-us/articles/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". Search for 1

elif defined(__ICL) 2 3 4

                       // Intel C++, no version number: 5   6
                    #  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.