我喜欢使用(新的)Visual Studio 2015(企业版)构建 boost 1.58.0。过去我是按以下方式进行的:
- 从以下位置下载 boost 1.58.0www.boost.org http://www.boost.org
- 提取文件(例如
C:\thirdparty\vs2013\x64\boost_1_58_0
)
- 启动 Visual Studio 2013 x64 命令提示符(
VS2013 x64 Native Tools Command Prompt
)
- 更改为 boost 目录(例如
cd C:\thirdparty\vs2013\x64\boost_1_58_0
)
- Execute
.\bootstrap.bat
- Execute
.\b2 -j8 --toolset=msvc-14.0 address-model=64 --build-type=complete stage
- b2 -j8 --toolset=msvc-12.0 地址模型=64 --build-type=完整阶段 --with-python
但在VS2015中没有VS2015命令提示符。
还有vcvarsall.bat
缺少我有时用来设置 VS2013 命令提示符的命令。
如何使用VS2015编译boost源码?
很遗憾增强文档 http://www.boost.org/doc/libs/1_61_0/more/getting_started/windows.html非常冗长,因为它试图照顾所有操作系统和环境。此外,它还跳过了一些节省时间的细节。以下是专门针对带有 Boost 1.61 的 VS2015 的快速步骤。
首先,让我们了解 Boost 是一个拥有大量贡献者的庞大库。因此,所有 Boost 代码分为两部分:仅标头库和标头+cpp 库。前者不需要编译。您只需将它们包括在内即可完成。后期确实需要建设。您通常不需要担心额外的构建步骤,尽管将所有内容设置一次是个好主意。
使用仅 Boost 标头库
- 下载提升存档 http://www.boost.org/users/history/version_1_61_0.html7z 格式并使用 7Zip 提取。该 zip 文件比 7z 文件大得多,通过 Windows 资源管理器解压可能需要 20 多分钟,而通过 7Zip 则需要 5 分钟。
- 创建文件夹 c:\Program Files\boost。将提取的 boost_1_61_0 文件夹复制到此文件夹中。这个确切的路径不是必需的,但我们将在这里使用它。
- 在您想要使用 Boost 的任何 VC++ 项目中,转到该项目的右键单击“属性”>“C/C++”>“常规”>“其他包含目录”,然后添加不带引号的路径 C:\Program Files\boost\boost_1_61_0。
现在您应该能够通过使用以下语句来使用大多数 Boost 库#include <boost/thread/mutex.hpp>
.
使用Boost头文件+CPP库
这些例子是Boost.Chrono、Boost.Filesystem、Boost.GraphParallel、Boost.IOStreams、Boost.Locale、Boost.Regex、Boost.Thread、Boost.System等等。除非您正在使用这些库,否则不需要执行以下步骤。
- 首先确保您没有安装 Windows 驱动程序工具包。如果有,请暂时卸载它,因为它很可能弄乱了包含路径,从而导致 Boost 的构建脚本失败。
- 以管理员身份调用 VS2015 x64 本机工具命令提示符。
- CD 到 C:\Program Files\boost\boost_1_61_0,然后运行 bootstrap.bat。
- Run .\b2
- 运行 .\b2 变量 = 调试,发布链接 = 静态运行时链接 = 静态地址模型 = 64
- 剪切文件夹 C:\Program Files\boost\boost_1_61_0\stage\lib 并将其复制到 C:\Program Files\boost\boost_1_61_0\lib。
- 对于要使用这些库的 VC++ Console 项目,右键单击“属性”>“链接器”>“常规”>“其他库目录”并添加路径 C:\Program Files\boost\boost_1_61_0\lib。对于 VC++ 库项目,您可以在属性 > Librarian 中找到相同的设置。
现在一切都准备好了!
注意:关于找不到命令提示符的原始问题由@Arnaud 的回答解决。以上是 Boost 安装的更清晰步骤,下面还有步骤 #5,了解有关命令提示符的更多详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)