增压装置 - 需要的库

时间:2018-01-31 14:10:48

标签: c++ boost

我在Ubuntu 16.04系统上使用boost 1.58。

目前我正在使用提升单位。使用std::numeric_limits时,我遗漏了一些必须链接的库。我必须链接哪个库?

// compiled with g++ test.cpp -std=c++11 -O0

#include <boost/units/limits.hpp>
#include <boost/units/quantity.hpp>
#include <boost/units/systems/si.hpp>
#include <boost/units/systems/si/length.hpp>
#include <boost/units/unit.hpp>

using boost::units::si::meters;
using Meter = boost::units::quantity<boost::units::si::length, double>;


int main() {
    bool a1 = std::numeric_limits<Meter>::is_specialized;
    bool const& a2 = std::numeric_limits<Meter>::is_specialized; // undefined reference to is_specialized
}

我得到的错误是:

$ g++test.cpp -std=c++11 -O0    
/tmp/ccuHYpq5.o: In function `main':
test.cpp:(.text+0xb): undefined reference to `std::numeric_limits<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::dimensionless_type>, boost::units::homogeneous_system<boost::units::list<boost::units::si::meter_base_unit, boost::units::list<boost::units::scaled_base_unit<boost::units::cgs::gram_base_unit, boost::units::scale<10l, boost::units::static_rational<3l, 1l> > >, boost::units::list<boost::units::si::second_base_unit, boost::units::list<boost::units::si::ampere_base_unit, boost::units::list<boost::units::si::kelvin_base_unit, boost::units::list<boost::units::si::mole_base_unit, boost::units::list<boost::units::si::candela_base_unit, boost::units::list<boost::units::angle::radian_base_unit, boost::units::list<boost::units::angle::steradian_base_unit, boost::units::dimensionless_type> > > > > > > > > >, void>, double> >::is_specialized'
collect2: error: ld returned 1 exit status

这是一个助推错误吗?或者我错过了正确的头文件?

0 个答案:

没有答案