【问题标题】:Disable warning log in boost::ublas在 boost::ublas 中禁用警告日志
【发布时间】:2017-09-11 09:48:26
【问题描述】:
在使用boost::ublas 反转矩阵时,我有时会在日志中收到此错误:
在文件 /usr/include/boost/numeric/ublas/lu.hpp 中检查失败
298:详细信息::表达式类型检查(产品
(triangular_adaptor (m), e), cm2)
我知道这通常是有用的信息,但对我来说不是。有什么方法可以抑制该消息(以某种方式配置提升或使用编译器标志)? BOOST_UBLAS_NDEBUG 没有删减它。
【问题讨论】:
标签:
c++
boost
boost-ublas
【解决方案1】:
查看该标题会发现:
#if BOOST_UBLAS_TYPE_CHECK
BOOST_UBLAS_CHECK (detail::expression_type_check (prod (triangular_adaptor<const_matrix_type, upper> (m), e), cm2), internal_logic ());
#endif
甚至是documented:
BOOST_UBLAS_TYPE_CHECK
当 BOOST_UBLAS_TYPE_CHECK 被启用时,所有可能昂贵的结构检查都会被启用。如果这是不可取的,则在包含任何 uBLAS 标头之前使用#define BOOST_UBLAS_TYPE_CHECK 0。定义 BOOST_UBLAS_TYPE_CHECK_EPSILON 可用于控制可接受的容差,有关此检查的实施细节,请参阅detail/matrix_assign.hpp。