Hi,
I have written a short program utilising boost::float128 together with tux Eigen which successfully compiles and runs using g++, however it fails when I use icc.
The compiler error is 

/home/alex/boost/boost_1_71_0/boost/multiprecision/float128.hpp(727): error: no suitable constructor exists to convert from "const _Quad" to "boost::multiprecision::number<boost::multiprecision::backends::float128_backend, boost::multiprecision::et_off>"
     static number_type (min)() BOOST_NOEXCEPT { return BOOST_MP_QUAD_MIN; }
                                                        ^
How can I resolve this?

My example code is;
#include <iostream>
#include <cmath>
#include <Eigen/Dense>
#include <Eigen/Eigenvalues>
#include <iomanip>
#include <boost/cstdfloat.hpp>
#include <boost/multiprecision/float128.hpp>
#include <boost/math/special_functions.hpp>
#include <boost/math/constants/constants.hpp>
#include <quadmath.h>
#define BOOST_MP_USE_QUAD

using namespace Eigen;
using namespace std;

int main(){
  typedef Matrix<complex<boost::multiprecision::float128>, Dynamic, Dynamic> MatrixXcmp;
  MatrixXcmp C = MatrixXcmp::Random(8,8);
  cout<<setprecision(128)<<C<<endl<<endl;
  ComplexEigenSolver<MatrixXcmp> ces;
  ces.compute(C);
  return 0;
}

It only fails compilation when I put in the line 'ces.compute(C);'.

I compile with 
icpc quadtest.cpp -std=c++14 -Qoption,cpp,--extended_float_type -O2 -DMKL_LP64 -lmkl_intel_lp64 -fp-model precise -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lquadmath 

Many thanks in advance,

Alex