ubuntu安装openMVS遇到的问题
问题1:
/home/zll/library/openMVS/libs/MVS/PatchMatchCUDA.cu(267): error: calling a __host__ function("Eigen::MatrixBase< ::Eigen::Matrix<float, (int)3, (int)3, (int)0, (int)3, (int)3> > ::inverse() const") from a __device__ function("ComputeHomography") is not allowed
/home/zll/library/openMVS/libs/MVS/PatchMatchCUDA.cu(267): error: identifier "Eigen::MatrixBase< ::Eigen::Matrix<float, (int)3, (int)3, (int)0, (int)3, (int)3> > ::inverse const" is undefined in device code
2 errors detected in the compilation of "/home/zll/library/openMVS/libs/MVS/PatchMatchCUDA.cu".
make[2]: *** [libs/MVS/CMakeFiles/MVS.dir/build.make:317:libs/MVS/CMakeFiles/MVS.dir/PatchMatchCUDA.cu.o] 错误 1
make[2]: *** 正在等待未完成的任务....
解决方法:
Eigen3.3.9不行,换Eigen3.4
https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
问题2:
/usr/bin/ld: CMakeFiles/InterfaceCOLMAP.dir/InterfaceCOLMAP.cpp.o: undefined reference to symbol '_ZTVN7SEACAVE6CImageE' /usr/bin/ld: /home/zll/library/openMVS/openMVS_build/lib/libIO.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status /usr/bin/ld: CMakeFiles/InterfaceMetashape.dir/InterfaceMetashape.cpp.o: undefined reference to symbol '_ZNK8tinyxml27XMLNode17FirstChildElementEPKc' /usr/bin/ld: /home/zll/library/openMVS/openMVS_build/lib/libIO.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
解决方法:
cmake时去掉 -DBUILD_SHARED_LIBS=ON
参考博客:https://blog.csdn.net/rdw1246010462/article/details/122219814
https://github.com/cdcseacave/openMVS/issues/346