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

posted @ 2022-07-05 17:51  楸壳  阅读(487)  评论(0编辑  收藏  举报