首页 > 解决方案 > 在与提升相关的源中定位错误

问题描述

我正在将一个旧项目从 Boost 1.48 移植到 Boost 1.61。该项目是使用 MSVC 2013 编译的。在构建过程中报告了几个错误,我认为这些错误与 boost 相关,但不幸的是,错误报告根本没有多大帮助。

3>  entry.cpp
4>c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility(2715): error C2220: warning treated as error - no 'object' file generated
4>c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility(2715): warning C4996: 'std::_Fill_n': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
4>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility(2701) : see declaration of 'std::_Fill_n'
4>          c:\boost\boost_1_61_0\boost\random\detail\polynomial.hpp(114) : see reference to function template instantiation '_OutIt std::fill_n<boost::random::detail::polynomial_ops::digit_t*,size_t,boost::random::detail::polynomial_ops::digit_t>(_OutIt,_Diff,const _Ty &)' being compiled
4>          with
4>          [
4>              _OutIt=boost::random::detail::polynomial_ops::digit_t *
4>  ,            _Diff=size_t
4>  ,            _Ty=boost::random::detail::polynomial_ops::digit_t
4>          ]

我在上面看不到任何可以帮助我确定问题所在的内容,没有行号,并且代码片段不是来自编译文件。

标签: c++boost

解决方案


@Eljay,它是否有我可以在 IDE 中找到的人类可读的文本选项?– SPlatten 43 分钟前

您发布的内容是人类可读的文本。它实际上描述了一个参考文档的警告。¯\ (ツ) /¯ 也许你可以告诉编译器你不想收到警告

此外,您可以使用关键字搜索其他信息:

C++ Boost:这个警告的原因是什么?

此外,许多库已经有一个警告抑制标头(查找 egboost/iostreams/detail/config/disable_warnings.hppboost/random/detail/disable_warnings.hpp)。已知的良性警告“漏掉”这一事实可能表明该库需要更新它们的抑制,或者您可能需要升级您的 boost 版本。


推荐阅读