gpt4 book ai didi

c++ - 使用分位数函数 boost 断言失败消息

转载 作者:行者123 更新时间:2023-11-28 04:47:39 27 4
gpt4 key购买 nike

我正在尝试使用 Boost 1.66.0 版本通过以下代码计算卡方分布的分位数:

boost::math::chi_squared chisqdist(Tcopnu);   

Tcopnu :是上面卡方分布的自由度。

接下来我使用boost的Quantile函数(逆CDF函数)通过​​以下代码得到特定概率p的分位数:

双分位数 = boost::math::quantile(chisqdist, uniformNum);

但是,我在使用分位数函数时收到以下错误消息:

 error LNK2019: unresolved external symbol "void __cdecl boost::assertion_failed_msg(char const *,char const *,char const *,char const *,long)" (?assertion_failed_msg@boost@@YAXPBD000J@Z) referenced in function "public: long double const & __thiscall boost::array<long double,171>::operator[](unsigned int)const " (??A?$array@O$0KL@@boost@@QBEABOI@Z)

在使用 boost 中的这些函数时,我已经使用了所有必需的以下头文件:

boost/math/distributions/detail/generic_quantile.hpp
boost/math/tools/roots.hpp
boost/math/distributions/chi_squared.hpp

我花了相当多的时间来解决这个错误,但没有成功,如果有人能提供任何提示,那就太好了。

最佳答案

此错误来自于缺少 ::boost::assertion_failed_msg 函数,该函数应该由用户提供以手动处理由 BOOST_ASSERT_MSG 宏生成的断言消息。当 BOOST_ENABLE_ASSERT_HANDLER 宏在包含 boost(断言) header 之前定义时,会触发它的使用。参见 Boost.Assert documentation .

关于c++ - 使用分位数函数 boost 断言失败消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48949865/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com