错误:“EIGEN_USING_STD_MATH”没有依赖于模板参数的参数

问题描述 投票:0回答:0

我正在尝试建立我的柳絮环境。我一直在努力解决这个问题,但我做不到。

错误:

/usr/local/include/ITK-5.2/itkeigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function ‘static bool Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 3, false>::extract_kernel(Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 3, false>::MatrixType&, Eigen::Ref<typename SolverType::RealVectorType>, Eigen::Ref<typename SolverType::RealVectorType>)’:
/usr/local/include/ITK-5.2/itkeigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:608:5: error: there are no arguments to ‘EIGEN_USING_STD_MATH’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD_MATH’ must be available [-fpermissive]
  608 |     EIGEN_USING_STD_MATH(sqrt)

报错的部分代码

static inline void computeRoots(const MatrixType& m, VectorType& roots)
  {
    EIGEN_USING_STD_MATH(sqrt)
    EIGEN_USING_STD_MATH(atan2)
    EIGEN_USING_STD_MATH(cos)
    EIGEN_USING_STD_MATH(sin)
    const Scalar s_inv3 = Scalar(1)/Scalar(3);
    const Scalar s_sqrt3 = sqrt(Scalar(3));

有什么解决办法?谢谢

我正在尝试构建成功但仍然无法构建

gcc eigen
© www.soinside.com 2019 - 2024. All rights reserved.