如何独立于Boost构建变体控制Windows运行时库变体(零售版vs调试版)?
Boost b2 控制运行时库零售/调试版本的参数
在Windows上构建时,MSVC通过/MD、/MDd、/MT、/MTd四个标志对应四种运行时库版本,Boost的b2构建工具可以通过以下参数精准控制运行时的调试/零售版本:
- 核心控制参数:
variant- 指定零售(Release)版本运行时:
variant=release - 指定调试(Debug)版本运行时:
variant=debug
- 指定零售(Release)版本运行时:
结合runtime-link参数,就能完全对应MSVC的四个运行时选项:
/MD(动态链接零售运行时):b2 runtime-link=shared variant=release/MDd(动态链接调试运行时):b2 runtime-link=shared variant=debug/MT(静态链接零售运行时):b2 runtime-link=static variant=release/MTd(静态链接调试运行时):b2 runtime-link=static variant=debug
补充说明
- 默认情况下
b2会同时构建release和debug两种变体,若只需单一版本,显式指定variant即可 - 必须保证所有链接的模块(你的应用程序+Boost库)使用完全匹配的运行时配置,否则会引发链接错误或运行时异常
内容的提问来源于stack exchange,提问作者Ad N
相关产品推荐
相关产品推荐

