使用特定名称构建boost库

时间:2014-12-17 08:20:50

标签: c++ boost build

我正在尝试使用升级库编译我的程序,使用MSVC 2013,我收到链接错误:

  

无法打开输入文件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?

感谢您的回答并抱歉我的英语

1 个答案:

答案 0 :(得分:1)

-mt后缀表示使用多线程支持构建,该支持始终为MSVC启用。单线程CRT在VS 2008甚至2005中都被删除了,所以无论如何你的代码和boost都会被多线程识别。如果您不想更改构建配置,只需从库名称中删除“-mt”后缀即可。但由于boost具有MSVC自动链接支持(头文件中为#pragma comment (lib, "...")),因此最好为MSVC制作一个例外,而不是手动链接到增强库。