【发布时间】:2021-04-04 14:39:48
【问题描述】:
您好,我正在使用带有 Boost 累加器的 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;
};
谁能帮我指出正确的方向?
【问题讨论】:
-
看起来 boost 正在使用 GMP 库,您是否也与该库相关联?