我使用标记布局编译了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'
如何解决此问题,以便我可以正确链接到库?
更新:出于某种原因,当我启动程序时,我收到一条错误消息,指出我的计算机缺少boost_system-mt.dll。这非常奇怪,因为我没有链接到动态库,也没有动态库包含在我的附加库目录中。
答案 0 :(得分:0)
摘自here中提到的boost文档:
BOOST_ALL_NO_LIB
告诉配置系统不要自动选择要链接的库。通常,如果编译器支持#pragma lib,则只需选择包含该库头之一的行为,即可自动选择并链接正确的库构建变体。该宏关闭了该功能。
因此,我认为如果您在预处理器定义中定义BOOST_ALL_NO_LIB,然后将库的路径添加到库路径列表中,将可以解决此问题。