princeton-vl / DROID-SLAM

BSD 3-Clause "New" or "Revised" License
1.66k stars 273 forks source link

Compiling Error #2

Open veinyyxy opened 2 years ago

veinyyxy commented 2 years ago

error: namespace "Eigen" has no member "VectorX" \DROID-SLAM\src\droid_kernels.cu(1100): error: this declaration has no storage class or type specifier \DROID-SLAM\src\droid_kernels.cu(1100): error: expected a ";" \DROID-SLAM\src\droid_kernels.cu(1107): error: namespace "Eigen" has no member "VectorX" \DROID-SLAM\src\droid_kernels.cu(1107): error: expected a ")" \DROID-SLAM\src\droid_kernels.cu(1104): error: identifier "b" is undefined \DROID-SLAM\src\droid_kernels.cu(1108): error: "b" is not a nonstatic data member or base class of class "SparseBlock" \DROID-SLAM\src\droid_kernels.cu(1148): error: identifier "b" is undefined \DROID-SLAM\src\droid_kernels.cu(1155): error: identifier "b" is undefined \DROID-SLAM\src\droid_kernels.cu(1155): error: class "SparseBlock" has no member "b" error: no instance of constructor "SparseBlock::SparseBlock" matches the argument list argument types are: (const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double, double>, const Eigen::SparseMatrix<double, 0, int>, const Eigen::SparseMatrix<double, 0, int>>, , const int, const int) \DROID-SLAM\src\droid_kernels.cu(1164): error: identifier "b" is undefined \DROID-SLAM\src\droid_kernels.cu(1182): error: identifier "b" is undefined \DROID-SLAM\src\droid_kernels.cu(1182): error: no instance of overloaded function "Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::solve [with _MatrixType=Eigen::SparseMatrix<double, 0, int>, _UpLo=1, _Ordering=Eigen::AMDOrdering]" matches the argument list argument types are: () object type is: Eigen::SimplicialLLT<Eigen::SparseMatrix<double, 0, int>, 1, Eigen::AMDOrdering>

15 errors detected in the compilation of "/DROID-SLAM/src/droid_kernels.cu".

Thanks a lot.

hzwer commented 2 years ago

I meet the same issue using cuda11.0. Fortunately, I re-used cuda10.2 + cudnn8.0.4 + torch1.7.1 and successfully ran the demo.py provided by the author.

ZifaZhu commented 2 years ago

I meet the same issue using cuda11.0. Fortunately, I re-used cuda10.2 + cudnn8.0.4 + torch1.7.1 and successfully ran the demo.py provided by the author.

Which version of python did you use? Thx.

hzwer commented 2 years ago

I meet the same issue using cuda11.0. Fortunately, I re-used cuda10.2 + cudnn8.0.4 + torch1.7.1 and successfully ran the demo.py provided by the author.

Which version of python did you use? Thx.

3.7

SongQiPing commented 1 year ago

I think there is a problem with the Eigen version. VectorX is not available in Eigen 3.3, but it is available in VectorX 3.4. It is recommended to update the version of Eigen and build it from the source code on the official website

AwesomePeiweiPan commented 9 months ago

I tried upgrading Eigen3.3 to Eigen3.4, but it didn't work

The good news is that I found that I didn't use - recursive when cloning, you can try use git submodule update --init --recursive

good luck