Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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++ 建筑推进BCP_C++_Boost - Fatal编程技术网

C++ 建筑推进BCP

C++ 建筑推进BCP,c++,boost,C++,Boost,在过去的两个小时里,我一直在尝试构建,但没有任何结果。由于我是C++新手,我不能正确地构建。如何使用VisualStudio2008正确构建它 我需要使用BCP工具来提取库的子集。所以我需要先建立BCP,对吗?如何做到这一点?当我试图构建它时,我得到了以下错误 致命错误LNK1104:无法打开文件“libboost_filesystem-vc90-mt-gd-1_37.lib” 在哪里可以获取上述给定的库文件?首先,您需要在命令shell中具有正确的路径、INCLUDE和LIB环境变量。为此,使

在过去的两个小时里,我一直在尝试构建,但没有任何结果。由于我是C++新手,我不能正确地构建。如何使用VisualStudio2008正确构建它

我需要使用BCP工具来提取库的子集。所以我需要先建立BCP,对吗?如何做到这一点?当我试图构建它时,我得到了以下错误

致命错误LNK1104:无法打开文件“libboost_filesystem-vc90-mt-gd-1_37.lib”


在哪里可以获取上述给定的库文件?

首先,您需要在命令shell中具有正确的路径、INCLUDE和LIB环境变量。为此,使用以下参数调用文件“
vcvvarsall.bat
”(或类似文件):

vcvarsall.bat x86
接下来,您必须构建bjam(您也可以从Boost页面下载它,但速度几乎一样快)。转到Boost中的
tools\jam\src
文件夹并键入:

build.bat
..\..\bjam.exe --toolset=msvc
它应该生成一个子文件夹
bin.ntx86
,其中包含bjam.exe。为方便起见,请将其复制到Boost主文件夹。接下来,您可以构建bcp。进入
tools\bcp
文件夹并键入:

build.bat
..\..\bjam.exe --toolset=msvc
回到Boost主文件夹,您可以构建任何您想要的库:

bjam toolset=msvc –-with-{library}
其中,
{library}
是要构建的库之一。所有可构建的库都可以显示为:

bjam –-show-libraries
还有更多的bjam构建参数。可以指定关键字的某些参数包括:

variant=debug|release
link=shared|static
threading=multi|single
例如:

bjam toolset=msvc –-with-filesystem threading=multi variant=debug stage
有关更多信息,请访问

编辑:更新了指向最新Boost文档的链接


编辑:更正的选项—使用-{library}和–-show libraries

注意,您不需要从源代码构建Windows版本的bcp—您还可以从下载二进制版本,并跳过所有这些步骤


(或者,至少理论上是这样——我没有试过;我只是在寻找预构建的Linux版本时找到了该页面和该页面。)

当前版本的Boost(1.50.0)使用Boost.Build。构建bcp的新工作流如下所示:

在根Boost目录中,键入:

bootstrap.bat
然后,构建Boost.Build后,键入:

b2 tools/bcp
我提取了源代码:(您不需要配置BOOST,因为所有源代码都已经包含在内)

在Linux上,
cmake
+
make
构建:

# cd source_dir
mkdir build && cd build
cmake ..
make
在Windows上:创建CMake GUI+Visual Studio。需要帮助吗?看

我的可执行文件:

  • 视窗:(561KB)
  • Linux:(917KB)
  • macOS:(801KB)


提示:如果在使用Boost时在Windows上遇到链接问题,请查看
Boost/config/auto_link.hpp
,您会明白的。要解决此问题,您只需注释掉整个文件。

谢谢您的精彩回答!这对我帮助很大。它是
——使用-{library}
——显示库
。两个“-”,不是一个。谢谢KTC,文件上也这么说。我更正了答案。在boost 1.46中使用这些说明时存在一些问题,包括缺少
工具/卡纸
,以及缺少工具/卡纸的解决方法(至少在1.48中);运行bootstrap.bat,它会将bjam复制到主boost文件夹。注意:站点需要注册才能启用下载。默认情况下,它似乎也不会为您提供bcp。。无论如何,您必须自己构建它。Windows bcp二进制文件可以从这里下载:生成的二进制文件位于dist/bin/bcp。我已经完成了3个步骤:
>bootstrap.bat>\b2>\b2 tools/bcp
,然后我可以使用它:C:\Users\pedro\dev-VS2008\boost\u 1\u 59\u 0>dist\bin\bcp boost\tokenizer.hpp C:\Users\pedro\dev-VS2008\MyProject\boost_1_59_0Kudos提供二进制文件!为我节省了大概8小时的编译时间。顺便说一下,编译时间不到1分钟。编译只是boostbcp,而不是整个boost。