Ich habe RGBDSLAM wurde die Umstellung auf armhf (https://github.com/felixendres/rgbdslam_v2) und ich habe Fehler mit dieser Funktion zu begegnen:Konvertieren Eigen 4x4 Matrix zu QMatrix4x4
template <typename T >
QMatrix4x4 eigenTF2QMatrix(const T& transf)
{
Eigen::Matrix<double, 4, 4, Eigen::RowMajor> m = transf.matrix();
//QMatrix4x4 qmat(static_cast<qreal*>(m.data()) ); (original line)
QMatrix4x4 qmat(m.data());
printQMatrix4x4("From Eigen::Transform", qmat);
return qmat;
}
Die Linie:
QMatrix4x4 qmat(m.data());
sowie wie das Original:
QMatrix4x4 qmat(static_cast<qreal*>(m.data()) );
gibt mir den Fehler:
error: invalid conversion from 'Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 4, 1> >::Scalar* {aka double*}' to 'int' [-fpermissive]
Wie kann ich diese Funktion reparieren, um am Arm zu arbeiten?
Nun, das ist vermutlich, warum die Besetzung war es ursprünglich - was war das Problem mit dem? – Notlikethat
qreal ist ein Float anstelle von Double auf ARM. Es hat nicht funktioniert. –
Sie können 'Qt' hacken und' qreal == float' ändern und 'Qt' neu erstellen, aber ein wenig einfacher zu schreiben Zyklus, um jedes Mitglied der Matrix zu kopieren. – fghj