代码编织梦想

编译包括一些常用库的编译(regex,datetime,random,system等)

编译步骤

1.下载boost https://www.boost.org/

2 运行文件夹下 boostrap.bat (window)

3.cmd打开:bjam install --prefix="E:\boost_1_69_0\vs2015" --toolset=msvc-14.0 address-model=64 --with-system --with-date_time --with-random --with=-regex link=static runtime-link=static  threading=multi

参数可以根据下面参考 编译出来的是2015上64位静态库

编译结果

 

【步骤3 参数解释】

BOOST_LIB_PREFIX + BOOST_LIB_NAME + "-" + BOOST_LIB_TOOLSET + "-" + BOOST_LIB_THREAD_OPT + "-" + BOOST_LIB_RT_OPT + "-" + BOOST_LIB_VERSION  

   这些定义为:

BOOST_LIB_PREFIX: 静态库为 "lib" (否则无,是用动态链接库)

BOOST_LIB_NAME: 库的基本名称 ( 比方说 boost_regex).

BOOST_LIB_TOOLSET: 编译工具集名称 ( 比如:vc6, vc7, bcb5 )

BOOST_LIB_THREAD_OPT: 多线程为 "-mt" ,否则为空

BOOST_LIB_RT_OPT: 指示使用的运行库的后缀, 

   组合下面的一个或者更多字符:

   s 静态运行库,指的是静态链接到运行时库(不出现表示动态).

   g 调试/诊断 runtime (release if not present).

   d 调试版本 (不出现表示 release 版 ).

   p STLPort 版本.

   注:对 vc 来说,gd 总是一起出现

BOOST_LIB_VERSION: Boost 版本, Boost 版本 x.y 表示为 x_y形式.

编译:为了简化boost库的编译,boost库中带了一个用来编译的工具,名字是bjam.exe或者b2.exe.

1:运行boost下的bootstap.bat脚本就会自动生上述的两个编译工具,并且拷贝到boost目录下. 也可以进入tools/build目录下找到类似的脚本或者项目源码来编译.

2: bjam.exe的参数

Feature

Allowed values

Notes

variant

debug,release

 

link

shared,static

Determines if Boost.Build creates shared or static libraries

threading

single,multi

Cause the produced binaries to be thread-safe. This requires proper support in the source code itself.

address-model

32,64

Explicitly request either 32-bit or 64-bit code generation. This typically requires that your compiler is appropriately configured. Please refer to the section called “C++ Compilers” and your compiler documentation in case of problems.

toolset

(Depends on configuration)

The C++ compiler to use. See the section called “C++ Compilers” for a detailed list.

(Vs2008)msvc-8.0 (vs2010)msvc-10.0

include

(Arbitrary string)

Additional include paths for C and C++ compilers.

define

(Arbitrary string)

Additional macro definitions for C and C++ compilers. The string should be either SYMBOL or SYMBOL=VALUE

cxxflags

(Arbitrary string)

Custom options to pass to the C++ compiler.

cflags

(Arbitrary string)

Custom options to pass to the C compiler.

linkflags

(Arbitrary string)

Custom options to pass to the C++ linker.

runtime-link

shared,static

Determines if shared or static version of C and C++ runtimes should be used.

--build-dir=<builddir>

编译的临时文件会放在builddir里(这样比较好管理,编译完就可以把它删除了)

--stagedir=<stagedir>

存放编译后库文件的路径,默认是stage

--build-type=complete

编译所有版本,不然只会编译一小部分版本(确切地说是相当于:variant=release, threading=multi;link=shared|static;runtime-link=shared)

variant=debug|release

决定编译什么版本(对应文件中的d 调试版本 不出现表示 release 版)

link=static|shared

决定使用静态库还是动态库。(对应文件中的BOOST_LIB_PREFIX )

threading=single|multi

决定使用单线程还是多线程库。(对应文件中的BOOST_LIB_THREAD_OPT)

runtime-link=static|shared

决定是静态还是动态链接C/C++标准库。(对应文件中的BOOST_LIB_THREAD_OPT)

--with-<library>

只编译指定的库,如输入--with-regex就只编译regex库了。

--show-libraries

显示需要编译的库名称

 

bjam.exe --toolset=msvc-10.0 --with-date_time runtimelink=static link=static stage 

意思是要生静态库,该静态库静态链接C运行时库

生成的文件名字是:libboost_date_time-vc100-mt-sgd-1_48.lib(debug version),libboost_date_time-vc100-mt-s-1_48.lib(release version) 两个文件.

 

bjam.exe --toolset=msvc-10.0 --with-date_time runtimelink=shared link=static stage

意思是要生静态库,该静态库动态链接C运行时库

生成的文件名字是:libboost_date_time-vc100-mt-gd-1_48.lib(debug verion),libboost_date_time-vc100-mt-1_48.lib(release version) 两个文件.

 

bjam.exe --toolset=msvc-10.0 --with-date_time runtimelink=shared link=shared stage

意思是要生动态库,该动态库动态链接C运行时库

生成的文件名字是:boost_date_time-vc100-mt-gd-1_48.lib(debug version),boost_date_time-vc100-mt-1_48.lib(release version) 两个文件.

生成的dll名字是:boost_date_time-vc100-mt-gd-1_48.dll(debug version),boost_date_time-vc100-mt-1_48.dll(release version)

boost windows 编译_nijun1992的博客-爱代码爱编程_boost windows

最近使用boost读取XML文件时遇到一个问题:boost在VS 64位编译工程里面使用boost总是说某些库无法使用,未定义标志符之类的。后来才明白,原来boost是区分32位编译和64位编译的,问题也出在这里。因此记下来,防止再出错。 boost Windows 64位编译方法:如果32位已经编译完成,那么只需使用x64 vs编译窗口cd到bo

boost库编译选项(windows)_贝壳里的沙的博客-爱代码爱编程_boost编译with

boost库编译过程如下: 1、下载boost库(本实例用的boost1.63)并解压 2、进入boost库解码目录,执行bootstrap.bat,生成b2或bjam可执行编译工具; 3、利用b2或bjam编译boost库(进入cmd命令行,然后进入boost解码目录--b2工具所在目录)         在不特定指定编译选项情况下,boost

windows下boost库的编译使用_zbbzb的博客-爱代码爱编程

下载地址 boost官方下载地址 注:官方建议下载1.67.0版本,我下载的是1.67.0 参考 boost官方参考 boost build 解压,打开VS2017开发人员命令提示符 运行bootstrap.bat

vscode技术揭秘(一)-爱代码爱编程

前言 Visual Studio Code(以下简称VSCode)是一个轻量且强大的跨平台开源代码编辑器(IDE),VSCode 采用了 Electron,使用的代码编辑器名为 Monaco、Monaco 也是 Visua

Windows下编译boost库-爱代码爱编程

需要编译的boost库 以下的库必须单独编译: Boost.ChronoBoost.SystemBoost.ContextBoost.ProgramOptionsBoost.FilesystemBoost.PythonBoost.GraphParallelBoost.RegexBoost.IOstreamsBoost.SerializationBoos

Windows VS2019编译Boost库学习记录-爱代码爱编程

比较简单,仅供小白参考哈。 1.下载boost库,本人下载的是boost_1_72_0版本,下载完后解压到当前文件夹; boost库下载链接:下载链接 2.打开开始菜单,找到Visual Studio 2019文件夹里x86 Native Tools Command Prompt并打开。 3.先切换到boost解压后的目录,我这里路径是E:\P

boost-windows编译看这一篇就够了-爱代码爱编程

一、环境 本文以boost1.68.0+vvs2012作为讲解。 下载boost库boost下载历史版本 二、boost 32位编译 1.打开vs2012开发人员工具(默认是32位) 2.定位到boost目录 3.开始编译 bootstrap.bat bjam install stage --toolset=msvc-11.0 --stag

boost windows编译-爱代码爱编程

执行: (1)bootstrap.bat (2)b2 -j4 toolset=msvc-9.0 link=static threading=multi runtime-link=static stage --stagedir=“D:\Code\boost_1_66_0\lib” debug release toolset:msvc-9.0 使用vs2

conan入门(十):Windows下Android NDK交叉编译Boost-爱代码爱编程

conan Windows下Android NDK交叉编译Boost Conan 是 C 和 C++ 语言的依赖项和包管理器。它是免费和开源的,适用于所有平台(Windows、Linux、OSX、FreeBSD、Solaris 等),可用于开发所有目标,包括嵌入式、移动(iOS、Android)和裸机。它还与 CMake、Visual Studio

windows系统下编译boost库-爱代码爱编程

1、进入官方网站下载源码: 2、解压后按个人情况使用命令行工具操作   命令行进入解压的文件夹,运行目录下的 bootstrap.bat 文件。 3、运行后会生成一个 b2.exe 文件,还是命令行运行此文件即执行编译。 4、编译过程大概十分钟,编译后会提示库文件路径和包含路径: 5、把包含路径添加到*.pro文件中,boost的源文件

windows下编译boost 1.79-爱代码爱编程

编译环境 win11+vs2019 1、下载源码。地址 https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/ 2、解压 3、进入vs命令行 x64 Native tools 3、进入源码目录。 cd boost_1_79_0 4、生成 b2.exe

boost库的编译(windows)_boost库编译 windows-爱代码爱编程

1 Boost库的编译 使用环境 Boost1.42.0 + VS2008 + Win7 1.1下载Boost 在官网(www.boost.org)下载boost_1_42_0.7z,然后解压。目前最新的版本为1.61.0,选1.42.0这个这个版本主要是为了和《Boost程序库完全开发》一书一致。 1.3 编译Boost 在VS2008环境下