Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用特定名称构建boost库_C++_Boost_Build - Fatal编程技术网

C++ 使用特定名称构建boost库

C++ 使用特定名称构建boost库,c++,boost,build,C++,Boost,Build,我正在尝试用MSVC 2013编译我的程序,该程序使用boost库,我得到链接错误: 无法打开输入文件boost_iostreams-vc120-1.57.lib 我已经使用多种选项组合成功构建了boost数次(例如“bjam toolset=msvc--build type=complete”),但我的stage目录中没有boost_iostreams-vc120-1.57.lib。我有一些名为libboost_iostreams.lib、libboost_iostreams-vc-120-m

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

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

我已经使用多种选项组合成功构建了boost数次(例如“bjam toolset=msvc--build type=complete”),但我的stage目录中没有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在VS2008甚至2005年被删除,因此您的代码和boost都将支持多线程。如果不想更改构建配置,只需从库名称中删除“-mt”后缀即可。但是由于boost支持MSVC自动链接(
#pragma comment(lib,“…”
,在头文件中),所以最好为MSVC设置一个例外,不要手动链接到boost库。

我知道这不是你的问题,但作为补充说明,在调用
find\u package(Boost…
)之前,通过设置
set(Boost\u USE\u multi-threaded OFF)
,您应该能够告诉CMake在没有多线程的情况下查找Boost库;这样,它应该查找您现有的库。也没有回答您的问题,但请注意,您可以使用
BOOST\u ALL\u NO\u LIB
,只需将您需要的BOOST源文件包含在主项目中进行编译。