C++ 使用断言在发布模式下构建Boost

C++ 使用断言在发布模式下构建Boost,c++,boost,boost-build,bjam,C++,Boost,Boost Build,Bjam,基于问题中的所有关键词,这对谷歌来说似乎是一件非常困难的事情 当使用bjam/b2构建boost时,如何在启用断言的情况下获得完全优化的发布构建 假设这是可能的,我还想使用-layout=versioned调整命名,使之不同于普通的发布版本,即在库名称中添加-a标志。如果没有简单的方法,我可以重命名生成的文件 编辑:应该提到这是Linux Centos 6.2您可以在项目属性中指定输出文件的名称,在linker->general for exes和Library->general for lib

基于问题中的所有关键词,这对谷歌来说似乎是一件非常困难的事情

当使用bjam/b2构建boost时,如何在启用断言的情况下获得完全优化的发布构建

假设这是可能的,我还想使用-layout=versioned调整命名,使之不同于普通的发布版本,即在库名称中添加-a标志。如果没有简单的方法,我可以重命名生成的文件


编辑:应该提到这是Linux Centos 6.2

您可以在项目属性中指定输出文件的名称,在linker->general for exes和Library->general for libs中。您也可以使用$ProjectName、$OutDir、$ConfigurationName等引用来构造名称。e、 g$ProjectName-a.libA侧注:断言语句有时依赖于在非调试或优化构建中删除的变量-这通常不是问题,因为在优化构建期间,断言和调试相关变量都被删除。如果您可以保证assert语句中存在的variablesutilised独立于编译器的调试/非调试设置,那么在优化的生成中使用assert语句将起作用。对于第一条注释,这不是Visual Studio。至于第二个问题,我很欣赏你所说的,但是如果boost中是这样的话,我会感到惊讶,似乎release+断言是相当普遍的。调试构建可能非常慢,因此有一层断言来捕获可预测的错误会大大加快速度。