您好,我正在使用Boost Multiprecision库和Boost累加器。当我链接到CMakeLists时,它给了我一个参考问题
Undefined symbols for architecture x86_64:
"___gmpf_add", referenced from:
void boost::multiprecision::backends::eval_add<50u, 50u>(boost::multiprecision::backends::gmp_float<50u>&, boost::multiprecision::backends::gmp_float<50u> const&) in historicQuotePropogationController.cpp.o
"___gmpf_clear", referenced from:
boost::multiprecision::backends::detail::gmp_float_imp<50u>::~gmp_float_imp() in historicQuotePropogationController.cpp.o
"___gmpf_get_prec", referenced from:
boost::multiprecision::backends::detail::gmp_float_imp<50u>::gmp_float_imp(boost::multiprecision::backends::detail::gmp_float_imp<50u> const&) in historicQuotePropogationController.cpp.o
"___gmpf_init2", referenced from:
boost::multiprecision::backends::gmp_float<50u>::gmp_float() in historicQuotePropogationController.cpp.o
boost::multiprecision::backends::detail::gmp_float_imp<50u>::gmp_float_imp(boost::multiprecision::backends::detail::gmp_float_imp<50u> const&) in historicQuotePropogationController.cpp.o
"___gmpf_mul", referenced from:
void boost::multiprecision::backends::eval_multiply<50u, 50u, 50u>(boost::multiprecision::backends::gmp_float<50u>&, boost::multiprecision::backends::gmp_float<50u> const&, boost::multiprecision::backends::gmp_float<50u> const&) in historicQuotePropogationController.cpp.o
"___gmpf_set", referenced from:
boost::multiprecision::backends::detail::gmp_float_imp<50u>::gmp_float_imp(boost::multiprecision::backends::detail::gmp_float_imp<50u> const&) in historicQuotePropogationController.cpp.o
ld: symbol(s) not found for architecture x86_64这就是我正在使用它的类
class StatsControllerManager {
public:
bool propogateNewStats(Model::Stat stats);
vector<Model::Stat> propogateNewStats(vector<Model::Stat> stats);
private:
void initialize(std::string name, bool backpopulate = false);
std::unordered_map<std::string, Controller> historicStats;
};有人能帮我指出正确的方向吗?
发布于 2021-04-05 00:37:21
根据所使用的类型而定
链接。请参阅https://www.boost.org/doc/libs/1_75_0/libs/math/doc/html/math_toolkit/high_precision/use_mpfr.html
这些都是非常普遍的,但是如果你不想依赖,还有cpp_*类型(cpp_int,cpp_bin_float,cpp_dec_float),它们是非常简单的替代品,因为所有这些后端都使用相同的前端(number<>)。再说一遍:docs
后四个有一些许可证限制;只有在使用cpp_float后端时的Boost.Multiprecision可以提供无限制的Boost许可证。
目前,免费许可的价格略低速度。
https://stackoverflow.com/questions/66942368
复制相似问题