错误 LNK1104 无法打开文件 'libboost_filesystem-vc141-mt-gd-1_65_1.lib'

Error LNK1104 cannot open file 'libboost_filesystem-vc141-mt-gd-1_65_1.lib'

我似乎无法解决这个问题。我想使用 boost 但继续收到错误 LNK1104 无法打开文件 'libboost_filesystem-vs141-mt-gd-1_65_1.lib'。我已按照以下步骤操作,即: 1. 运行 蝙蝠 2. 运行 b2(原bjam) 3.链接文件。 收到错误后,我进行了挖掘并更改了一些其他内容。请参阅下面的图片以更好地了解我已完成的工作.

感谢今后的所有回答,也感谢您抽出宝贵的时间。

导致此错误的最常见原因是:

1-建筑。 .lib 是 x64,构建是 32 位,反之亦然(.lib 是 32 位,构建是 x64)。

2- 文件路径。 检查升压路径是否相同。 如果您使用的是预编译库,则路径类似于 .....\boost_1_65_1\lib64-msvc-14.1 但是如果编译了,就会像stage\lib。 在资源管理器中搜索它并剪切并粘贴路径。

此致

使用 boost_1_67_0-msvc-14.0-64.exe(从 https://sourceforge.net/projects/boost/files/boost-binaries/1.67.0/ 下载)安装预构建提升后,我遇到了类似的错误.事实证明,预构建 (14.0) 存在 lib 命名问题,例如引用名称中包含字符串“-vc141-”而不是“-vc140-”的文件。

我放弃了它并使用了安装程序 boost_1_67_0-msvc-14.1-64.exe(注意 msvc14.1)。我看到的所有问题现在都消失了。

这是因为配置的平台工具集与您要使用的库不同。 您可以在 visual studio '19 中的以下设置中轻松设置它:配置属性 -> 常规 -> 平台工具集和 select 您要使用的设置。

例如:

确保将“\stage\lib”添加到项目 Visual Studio 调试属性中的链接器库包含路径。如果您通过命令提示符首先 运行 安装 boost bootstap.bat 批处理文件,然后 b2.exe ,编译过程完成后,将显示一条消息,指示您添加该路径,所以链接器在查找它时不会感到困惑。