繁体   English   中英

如何正确安装boost

[英]how to install boost correctly

我已经下载了boost_1_61_0并解压了它。 我使用bootstrap.bat生成b2.exebjam.exe并成功地在名为“stage”的文件夹中为x64win32构建了库。

在我拥有包含包含文件的.libboost文件夹之后。

当我删除根文件夹时,我无法构建我的程序。 为什么我无法构建代码?

我使用 bs 作为:

b2 -j8 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64 install

它创建包含库和头文件的C:\\boost 但是当我尝试在我的项目中使用这个新文件夹时,我收到错误: couldn't find eg: boost/reg.hpp

构建后是否有正确的方法来安装boost?

我想到了:

  1. 例如将 boost_1_61_0 提取到 C: 所以名为“C:\\boost_1_61_0”的新文件夹
  2. 从命令提示符或 Visual Studio 2015-> Visual Studio 工具-> ms2015 的开发人员命令提示符(以管理员身份运行)
  3. cd C:\\boost_1_61_0
  4. 引导程序.bat

因此创建了新文件:根文件夹中的 b2.exe 和 bjam.exe。 现在我们构建 x64 版本的 boost 库:

  1. b2 -j8 工具集=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64
  • 在根文件夹中创建了新文件夹“Stage”,在该文件夹中有一个名为 x64 的文件夹,其中有一个文件夹“lib”(.lib 文件)。 该过程需要几分钟(约 20 分钟)

  • 当它完成时,一条消息告诉你 boost_1_61_0 跳过了一些目标,不要介意这没什么,因为它属于其他操作系统

现在我们构建 x86 版本:

b2 -j8 toolset=msvc-14.0 address-model=32 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/win32

  • 等到它完成。 现在我们有 x64 和 win32 两个版本,但是根文件夹太大了,大约 5.3 GB。

现在我们将这两个库安装到“C:\\Boost”,然后通过删除文件夹“C:\\boost_1_61_0”进行清理:

b2 -j8 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=C:\\Boost\\x64 install

  • 完成后,我添加 install 并将文件夹的名称从 stage 更改为“C:\\Boost\\X64”,创建了一个新文件夹“C:\\Boost”,它包含包含文件夹和包含 lib 文件的 x64 文件夹。

现在我们安装win32版本: b2 -j8 toolset=msvc-14.0 address-model=32 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=C:\\Boost\\ win32安装

  • 完成后删除名为 lib 的文件夹:C:\\Boost\\
  • 清理和释放内存的时间:
  • 删除孔文件夹:C:\\Boost_1_61_0 因为我们不再需要它

** 如何为我的项目添加 boost?:

打开 Msvc2015->create c++ 控制台新项目,创建后转到 Project->"MyBoostProject's" properties->C/C++->General->Additional include directory->edit->new folder->C:\\Boost\\include ->boost_1_61 添加另一个文件夹,路径为:C:\\Boost\\include->Boost_1_61_0->Boost

现在包含文件已准备就绪。

** 如何链接?:

如果我的项目是 x86:转到:链接器->常规->附加库目录->编辑->添加新文件夹->C:\\Boost\\win32\\Lib

如果我的项目是 x64:

链接器->附加库目录->编辑->添加新文件夹->C:\\Boost\\x64\\Lib

我希望这篇文章对任何无法安装它的人有用。

boost 包含在您创建的名为 c:\\boost 的文件夹中。 所以路径是 c:\\boost\\boost,因为它看起来你已经找到了。

但更好的是使用环境变量。 您可以在控制面板 > 系统 > 高级 >... 下找到它们

BOOST_ROOT设置为 c:\\boost 并将BOOST_LIB为您的舞台路径。 我将所有版本 v100、v140 x86 和 64 位都保存在同一个文件夹中。 然后在您的项目中,您可以将其他包含目录设置为 $(BOOST_ROOT) 并将 lib 目录设置为 $(BOOST_LIB)

这会给你带来很多好处,比如当 6.62 出现时,你可以把它放在 c:\\boost_62 中并更改你的环境变量,然后你的所有项目都将使用新的 boost。 您不必拘泥于 c:\\boost。 如果您与其他路径不同的人共享该项目,它就可以正常工作。

BOOST_ROOT 看起来很普遍,我不知道 BOOST_LIB

此外,如果更改环境变量,则必须关闭 Visual Studio 并重新打开它才能使更改生效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM