标题“VS2017下Boost的编译”指明了文章的主题是介绍如何在Visual Studio 2017环境下编译Boost库。Boost是一个跨平台的C++库,广泛应用于C++社区,提供许多组件,包括字符串处理、容器、数学运算、多线程处理等,极大地方便了C++程序员的工作。
描述中的“一、下载Boost”指的是在开始编译之前,我们需要获取Boost的源代码包。Boost官方提供了不同版本的源代码供下载,用户可以根据自己的需求选择合适的版本进行下载。Boost库本身是开源的,遵循Boost Software License,允许用户免费使用和分发。
“二、编译生成b2.exe”涉及编译过程中的第一步,即生成一个名为b2的编译工具,它是一个基于Boost.Build的编译系统。编译这个工具通常需要运行bootstrap.bat脚本,这个过程一般是在命令行模式下进行,如描述中的“在命令行模式下输入”,意味着用户需要打开命令提示符(cmd)并导航到下载并解压的Boost目录中执行bootstrap.bat脚本。
“三、编译开关”和“四、b2.exe常见参数的详细使用说明”则详细介绍了b2编译工具的一些主要参数。这些参数用于指导b2如何编译Boost库,包括但不限于编译类型、链接方式、目标架构等。
例如,“--toolset=msvc-14.1”指明了使用Microsoft Visual Studio 2017的编译器;“threading=multi”表示生成多线程的库;“runtime-link=static|shared”则决定是否要生成静态链接或是动态链接到C/C++标准库的库文件;“variant=release|debug”指定生成发布版或调试版的库;“address-model=32|64”则指明编译的目标架构是32位还是64位。
描述中还提到了编译生成的库文件位置,例如,在64位系统中,库文件可能存储在“win32x64\stage\lib”目录下。此外,在编译过程中可能会出现暂时的停滞,但通常情况下,用户可以通过按回车键继续编译过程。
当编译完成后,通过输入“b2.exe --help”可以获取详细的帮助信息,这些信息会告诉用户关于各种可用编译参数的详细描述和用法,这对于正确配置编译选项非常有帮助。
在编译完成后,虽然一些临时文件夹如bin.v2是可以清理的,但是建议在确认编译无误并且测试库文件之前不要删除这些文件夹,以防万一需要重新编译或调试。
整个编译过程可能相当耗时,特别是在编译静态库和动态库都需要进行一次的情况下。这是因为Boost库相当庞大,并且包含了大量的组件和模板。用户通常需要根据自己的需求来决定编译哪些组件,以节省时间并减少不必要的资源消耗。
通过以上的知识点梳理,可以看出,编译Boost库是一个涉及多个步骤的过程,需要遵循特定的规则和参数配置,才能成功生成适用于Visual Studio 2017环境的库文件。这个过程需要用户具备一定的C++编程基础和对命令行操作的熟悉度。