【问题标题】:FlexeLint and boost::bimapFlexeLint 和 boost::bimap
【发布时间】:2012-11-03 01:52:24
【问题描述】:

我在使用 boost::bimap 的燧石代码 sn-p 时遇到问题。我有一个简单的 bimap.cpp,如下所示:

#include <boost/bimap.hpp>

typedef boost::bimap<int, double> TestBimap;

int main()
{
    TestBimap flintTest;
    return 0;
}

我知道,这不是完美的,但这只是一个例子。我在上面打火石:

flint --i../flexelint_cfg/ --i/home/rat/boost/1.45.0/include ../flexelint_cfg//co-gcc.lnt  bimap.cpp

并且 flint 返回大量错误。从上到下的几个是:

    --- Module:   bimap.cpp (C++)$
    $
      While instantiating boost::bimaps::bimap<int,double> at File bimap.cpp line 7$
      While instantiating boost::bimaps::detail::bimap_core<int,double,mpl_::na,mpl_::na,mpl_::na>$
        at File /boost/1.45.0/include/boost/bimap/bimap.hpp$
        line 137$
      While instantiating struct boost::bimaps::detail::manage_bimap_key<int> at$
        File /boost/1.45.0/include/boost/bimap/detail/bimap_core.hpp$
        line 90$
      While instantiating struct boost::bimaps::set_of<int> at File$
        /boost/1.45.0/include/boost/bimap/detail/manage_bimap_key.hpp$
        line 69$
      While instantiating struct boost::concepts::requirement_<void$
        (*)(boost::AssignableConcept<int>)> at File /boost/1.45.0/include/boost/bimap/set_of.hpp$
        line 130$
      While instantiating struct boost::AssignableConcept<int> at File$
        /boost/1.45.0/include/boost/concept/detail/general.hpp$
        line 54$
      While instantiating struct boost::Assignable<int> at File$
        /boost/1.45.0/include/boost/concept_check.hpp$
        line 137$
      While instantiating struct boost::concepts::requirement_<void$
        (*)(boost::concepts::usage_requirements<boost::Assignable<int>>)> at File$
        /boost/1.45.0/include/boost/concept_check.hpp$
        line 139$
      While instantiating struct boost::mpl::if_<boost::concepts::not_satisfied<boost::concepts::usage_requirements<boost::Assignable<int>$
    >>,boost::concepts::constraint<boost::concepts::usage_requirements<boost::Assignable<int>>>,boost::concepts::requirement<boost::concepts::f$
    ailed ************usage_requirements::************>> at File$
        /boost/1.45.0/include/boost/concept/detail/general.hpp$
        line 56$
      While instantiating struct boost::concepts::not_satisfied<boost::concepts::usage_requirements<boost::Assignable<int>$
    >> at File /boost/1.45.0/include/boost/mpl/if.hpp$
        line 63$
                           _$
        TestBimap flintTest;$
    /boost/1.45.0/include/boost/concept/detail/has_constraints.hpp $
        44  Error 1015: Symbol 'constraints' not found in class$
    bimap.cpp  7  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/bimap.hpp $
        137  Info 831: Reference cited in prior message$
    /64bit/boost/1.45.0/include/boost/mpl/if.hpp $
        63  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/detail/bimap_core.hpp $
        90  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/concept_check.hpp $
        137  Info 831: Reference cited in prior message$
   /boost/1.45.0/include/boost/concept_check.hpp $
        139  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/concept/detail/general.hpp $
        54  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/concept/detail/general.hpp $
        56  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/detail/manage_bimap_key.hpp $
        69  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/set_of.hpp $
        130  Info 831: Reference cited in prior message$

我的 FlexeLint 版本是:

FlexeLint for C/C++ (Unix) Vers. 9.00i, Copyright Gimpel Software 1985-2012

我花了几个小时试图让它工作,但没有运气。有人遇到同样的问题并有解决方案吗?这是配置错误吗?如果需要,我可以发布我的配置。

非常感谢您的帮助

最好的问候!

PS: flexelint tag please;>?

【问题讨论】:

    标签: static-analysis lint


    【解决方案1】:

    对于那些和我遇到同样问题的人。我直接向 Gimepl 支持人员询问了这个问题,他们回答说这是 FlexeLint 不处理 c++11 可变参数模板的问题。因此,目前,唯一的解决方法是通过 -elib 和 -e 选项抑制这些警告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-12
      • 2018-07-20
      相关资源
      最近更新 更多