LNK1104 无法打开文件“libboost_system-vc141-mt-gd-x64-1_68.lib”

LNK1104 无法打开文件“libboost_system-vc141-mt-gd-x64-1_68.lib”

笔者的情况:
1:Visual Studio 2017 已经设置 项目属性 -> VC++目录->包含目录和库目录
但是在编译工程时依然报错,网上找资料各种解决方法都有,这里贴下我认为靠谱的解决方法

解决方案:

1:

确保你的工程平台对应你生成的boost lib ,例如x64工程对应x64的lib这个不用多说了

2:

举个boost生成语句的例子:

b2 stage --toolset=msvc-14.1 --without-graph --without-graph_parallel --stagedir="F:\boost_1_68_0\build\lib" link=static runtime-link=static runtime-link=static threading=multi debug release

重点关注【runtime-link=X】 X的取值是share和static,前者指定生成动态lib,后者则是生成静态lib。

3:

重点

X = static 时 项目属性 → C/C++ →代码生成 → 运行库 【多线程调试(/MTd)】
X = share 时 项目属性 → C/C++ →代码生成 → 运行库 【多线程调试 DLL (/MDd)】

4 :

重新生成下工程就OK了




演示:【笔者用的是static的方式】

1:默认使用的是MDd模式,可以看到编译时报错了

LNK1104 无法打开文件“libboost_system-vc141-mt-gd-x64-1_68.lib”_第1张图片

2: 然后我们修改为 MTd模式, 可以看到编译成功了
LNK1104 无法打开文件“libboost_system-vc141-mt-gd-x64-1_68.lib”_第2张图片

笔者没有试过share的方式,理论上share选的应该是DLL的方式

你可能感兴趣的:(【Boost学习笔记】)