Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

error #1055: class member designated by a using-declaration must be visible in a direct base class

$
0
0

I am using cgt6x_7_4_2 to port a mathematical template library named "Eigen" to C6000. The first examples worked well but the function call .transpose()

"Eigen::MatrixXd Q = P * P.transpose();"

ends up in the compiler error

"error #1055: class member designated by a using-declaration must be visible in a direct base class".

I prefer the compiler setting "legacy COFF" instead of "eabi ELF" but I get the same errors independent of this setting.

This is the compiler output:

**** Build of configuration Debug for project eabi ****

/opt/ti/ccsv5/utils/bin/gmake -k all
Building file: ../algorithms/source/Ausgleichsgerade.cpp
Invoking: C6000 Compiler
"/opt/ti/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6740 -g --preproc_with_compile --preproc_with_line --include_path="/opt/ti/ccsv5/tools/compiler/c6000/include" --include_path="/home/developer/Arbeitsordner/eabi/" --include_path="/home/developer/Arbeitsordner/eabi/algorithms/include" --display_error_number --diag_warning=225 --abi=eabi --obj_directory="algorithms/source"  "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/util/Memory.h", line 83: warning #69-D: integer conversion resulted in a change of sign
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/products/Parallelizer.h", line 20: warning #552-D: variable "m_maxThreads" was set but never used
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 199
            instantiation of "Eigen::Transpose<Derived> Eigen::DenseBase<Derived>::transpose() [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 199
            instantiation of "Eigen::Transpose<Derived> Eigen::DenseBase<Derived>::transpose() [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 199
            instantiation of "Eigen::Transpose<Derived> Eigen::DenseBase<Derived>::transpose() [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 199
            instantiation of "Eigen::Transpose<Derived> Eigen::DenseBase<Derived>::transpose() [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=const Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 228 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/util/BlasUtil.h"
            instantiation of class "Eigen::internal::blas_traits<Eigen::Transpose<Derived>> [with NestedXpr=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 79 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/ProductBase.h"
            instantiation of class "Eigen::ProductBase<Derived, Lhs, Rhs> [with Derived=Eigen::GeneralProduct<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>, 5>, Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 379 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/products/GeneralMatrixMatrix.h"
            instantiation of class "Eigen::GeneralProduct<Lhs, Rhs, 5> [with Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 572 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/GeneralProduct.h"
            instantiation of "const Eigen::ProductReturnType<Derived, OtherDerived, Eigen::internal::product_type<Derived, OtherDerived>::value>::Type Eigen::MatrixBase<Derived>::operator*(const Eigen::MatrixBase<OtherDerived> &) const [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>, OtherDerived=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=const Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 228 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/util/BlasUtil.h"
            instantiation of class "Eigen::internal::blas_traits<Eigen::Transpose<Derived>> [with NestedXpr=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 79 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/ProductBase.h"
            instantiation of class "Eigen::ProductBase<Derived, Lhs, Rhs> [with Derived=Eigen::GeneralProduct<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>, 5>, Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 379 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/products/GeneralMatrixMatrix.h"
            instantiation of class "Eigen::GeneralProduct<Lhs, Rhs, 5> [with Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 572 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/GeneralProduct.h"
            instantiation of "const Eigen::ProductReturnType<Derived, OtherDerived, Eigen::internal::product_type<Derived, OtherDerived>::value>::Type Eigen::MatrixBase<Derived>::operator*(const Eigen::MatrixBase<OtherDerived> &) const [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>, OtherDerived=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=const Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 228 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/util/BlasUtil.h"
            instantiation of class "Eigen::internal::blas_traits<Eigen::Transpose<Derived>> [with NestedXpr=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 79 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/ProductBase.h"
            instantiation of class "Eigen::ProductBase<Derived, Lhs, Rhs> [with Derived=Eigen::GeneralProduct<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>, 5>, Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 379 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/products/GeneralMatrixMatrix.h"
            instantiation of class "Eigen::GeneralProduct<Lhs, Rhs, 5> [with Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 572 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/GeneralProduct.h"
            instantiation of "const Eigen::ProductReturnType<Derived, OtherDerived, Eigen::internal::product_type<Derived, OtherDerived>::value>::Type Eigen::MatrixBase<Derived>::operator*(const Eigen::MatrixBase<OtherDerived> &) const [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>, OtherDerived=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
"/home/developer/Arbeitsordner/eabi/Eigen/src/Core/Transpose.h", line 67: error #1055: class member designated by a using-declaration must be visible in a direct base class
          detected during:
            instantiation of class "Eigen::Transpose<MatrixType> [with MatrixType=const Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 228 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/util/BlasUtil.h"
            instantiation of class "Eigen::internal::blas_traits<Eigen::Transpose<Derived>> [with NestedXpr=Eigen::Matrix<double, -1, -1, 0, -1, -1>]" at line 79 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/ProductBase.h"
            instantiation of class "Eigen::ProductBase<Derived, Lhs, Rhs> [with Derived=Eigen::GeneralProduct<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>, 5>, Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 379 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/products/GeneralMatrixMatrix.h"
            instantiation of class "Eigen::GeneralProduct<Lhs, Rhs, 5> [with Lhs=Eigen::Matrix<double, -1, -1, 0, -1, -1>, Rhs=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 572 of "/home/developer/Arbeitsordner/eabi/Eigen/src/Core/GeneralProduct.h"
            instantiation of "const Eigen::ProductReturnType<Derived, OtherDerived, Eigen::internal::product_type<Derived, OtherDerived>::value>::Type Eigen::MatrixBase<Derived>::operator*(const Eigen::MatrixBase<OtherDerived> &) const [with Derived=Eigen::Matrix<double, -1, -1, 0, -1, -1>, OtherDerived=Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1>>]" at line 50 of "../algorithms/source/Ausgleichsgerade.cpp"
8 errors detected in the compilation of "../algorithms/source/Ausgleichsgerade.cpp".

>> Compilation failure
gmake: *** [algorithms/source/Ausgleichsgerade.obj] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

The precompiler output of the function looks like this:

template<typename MatrixType> class Transpose
  : public TransposeImpl<MatrixType,typename internal::traits<MatrixType>::StorageKind>
{
  public:

    typedef typename TransposeImpl<MatrixType,typename internal::traits<MatrixType>::StorageKind>::Base Base;
    typedef typename Eigen::internal::traits<Transpose> ::Scalar Scalar; typedef typename Eigen::NumTraits<Scalar> ::Real RealScalar; typedef typename Base::CoeffReturnType CoeffReturnType; typedef typename Eigen::internal::nested<Transpose> ::type Nested; typedef typename Eigen::internal::traits<Transpose> ::StorageKind StorageKind; typedef typename Eigen::internal::traits<Transpose> ::Index Index; enum { RowsAtCompileTime = Eigen::internal::traits<Transpose> ::RowsAtCompileTime, ColsAtCompileTime = Eigen::internal::traits<Transpose> ::ColsAtCompileTime, Flags = Eigen::internal::traits<Transpose> ::Flags, CoeffReadCost = Eigen::internal::traits<Transpose> ::CoeffReadCost, SizeAtCompileTime = Base::SizeAtCompileTime, MaxSizeAtCompileTime = Base::MaxSizeAtCompileTime, IsVectorAtCompileTime = Base::IsVectorAtCompileTime };

    inline Transpose(MatrixType& a_matrix) : m_matrix(a_matrix) {}

    using Base::operator =; inline Transpose& operator=(const Transpose& other) { Base::operator=(other); return *this; }

    inline Index rows() const { return m_matrix.cols(); }
    inline Index cols() const { return m_matrix.rows(); }

     
    const typename internal::remove_all<typename MatrixType::Nested>::type&
    nestedExpression() const { return m_matrix; }

     
    typename internal::remove_all<typename MatrixType::Nested>::type&
    nestedExpression() { return m_matrix.const_cast_derived(); }

  protected:
    typename MatrixType::Nested m_matrix;
};

Any help or ideas to get the library work on C6000 is highly welcome.

Regards

Holger


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>