为什么boost会寻找libboost _ *。lib而不是boost _ *。lib?

Can*_*aIT 6 c++ boost

我使用加标签的布局编译了boost库,因此我有了形式的库文件boost_program_options-mt.lib。我假设问题是boost_auto_link之类的。我有预处理程序定义BOOST_AUTO_LINK_TAGGED,尽管我仍然收到错误消息,说Visual Studio正在寻找libboost版本并且无法打开文件。

Error   LNK1104 cannot open file 'libboost_program_options-mt.lib'  
Run Code Online (Sandbox Code Playgroud)

如何解决此问题,以便可以正确链接到库?

更新:由于某种原因,当我启动程序时,出现一条错误消息,提示我的计算机缺少boost_system-mt.dll。这很奇怪,因为我没有链接到动态库,也没有在其他库目录中包含动态库。

Gup*_*pta 1

从这里提到的 boost 文档:

BOOST_ALL_NO_LIB
告诉配置系统不要自动选择要链接的库。通常,如果编译器支持#pragma lib,则只需包含该库的标头之一即可自动选择并链接正确的库构建变体。该宏会关闭该功能。

因此,我认为如果您BOOST_ALL_NO_LIB在预处理器定义中进行定义,然后将库的路径添加到库路径列表中,就可以解决问题。