编译boost

·

  • 最常用的两个编译命令
  1. b2 –toolset=msvc-14.2 –layout=versioned –build-type=complete variant=release link=static threading=multi runtime-link=static –address-model=32,64

这个生成的是静态库,并且是静态链接到标准库,用于Release版本。

  1. b2 –toolset=msvc-14.2 –layout=versioned –build-type=complete variant=debug link=static threading=multi runtime-link=shared –address-model=32,64

这个生成的也是静态库,但是是动态链接到标准库,用于Debug版本。

  • 参数具体含义
  1. –layout指定生成库的文件名 tagged不包含编译器信息和boost版本信息 versioned包含编译器信息和boost版本信息以上两者都会按照参数包含编译信息。
  2. –build-type=complete:编译所有库。
  3. install:表示需要将头文件拷贝到指定目录,如果使用stage代替install则不拷贝头文件,需要开发者自己到boost目录中去找。
  4. threading=multi:支持多线程, 生成的库文件名称中包含”-mt”标识。
  5. variant=release|debug debug:库文件名中包含”-gd”标识 release:库文件名中无特殊标识(不包含”-gd”)。
  6. runtime-link=shared|static static:生成的库文件名称包含”-s” shared:库文件名中无特殊标识(不包含”-s”)。
  7. msvc-14.2是vs2019,14.1是vs2017,msvc-14.1_xp是vs2017的xp编译模式(存疑)。
  8. –address-model=32,64 编译32和64位版本。
  9. –std=c++14是指定C++版本 //有可能是错的。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注