boost :: multiprecision :: float128和C++ 11

Wal*_*ter 6 c++ boost c++11

我正在尝试boost::multiprecision::float128在C++ 11(gcc 4.8.1)下使用(boost 1.55.0),但得到以下编译器错误:

/cm/shared/apps/boost/gcc/1.55.0/include/boost/multiprecision/float128.hpp: In static member function ‘static std::numeric_limits<boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ET> >::number_type std::numeric_limits<boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ET> >::min()’:
/cm/shared/apps/boost/gcc/1.55.0/include/boost/multiprecision/float128.hpp:533:55: error: unable to find numeric literal operator ‘operator"" Q’
    static number_type (min)() BOOST_NOEXCEPT { return 3.36210314311209350626267781732175260e-4932Q; }
Run Code Online (Sandbox Code Playgroud)

我不能boost::multiprecision::float128在C++ 11中使用?或者我怎么让它运作?

编辑

只是为了澄清.此错误由生成

#include <boost/multiprecision/float128.hpp>
Run Code Online (Sandbox Code Playgroud)

编译器对该语句不满意

return 3.36210314311209350626267781732175260e-4932Q;
Run Code Online (Sandbox Code Playgroud)

特别Q是它令人困惑.我使用了编译器标志-std=c++11 -fabi-version=0 -march=native -mfpmath=sse

Cor*_*lks 16

这看起来像一个已知的问题.尝试编译-fext-numeric-literals.