构建具有特定名称的提升库

Build boost library with specific name

本文关键字:定名称 构建      更新时间:2023-10-16

我正在尝试使用 MSVC 2013 编译我的程序,该程序使用 boost 库,但出现链接错误:

无法打开输入文件 boost_iostreams-vc120-1.57.lib

我已经使用许多选项组合成功构建了几次 boost(例如"bjam toolset=msvc --build-type=complete"),但我的阶段目录中没有 boost_iostreams-vc120-1.57.lib。我有名为 libboost_iostreams.lib、libboost_iostreams-vc-120-mt-1_57.lib 等的库。此外,我不想更改 MSVC 中的任何设置,因为我的项目是由 CMake 生成的。

所以问题是:如何使用Windows构建库boost_iostreams-vc120-1.57.lib?

感谢您的回答,对不起我的英语

-mt后缀表示使用多线程支持构建,MSVC 始终处于打开状态。单线程 CRT 在 VS 2008 甚至 2005 中被删除,因此您的代码和 boost 无论如何都将是多线程感知的。如果您不想更改构建配置,只需从库名称中删除"-mt"后缀即可。但是由于 boost 具有 MSVC 自动链接支持(#pragma comment (lib, "...")在头文件中),因此最好为 MSVC 设置例外,根本不手动链接到 boost 库。