編譯錯誤 k4a-calibration undefined reference open3d & opencv

項目鏈結: https://github.com/stytim/k4a-calibration.git

步驟

git clone https://github.com/stytim/k4a-calibration.git
cd k4a-calibration
mkdir build && cd build
cmake ..
make

After make, it shows error that camera_extrinsics.cpp is undefined reference

CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `ExtrinsicsCalibration::CalculateExtrinsics(std::vectorstd::allocator > const&, std::vectorstd::allocator >&)':
camera_extrinsics.cpp:(.text+0x2b30): undefined reference to `open3d::io::WritePointCloudToPLY(std::string const&, open3d::geometry::PointCloud const&, open3d::io::WritePointCloudOption const&)'
camera_extrinsics.cpp:(.text+0x33e3): undefined reference to `open3d::io::WritePointCloudToPLY(std::string const&, open3d::geometry::PointCloud const&, open3d::io::WritePointCloudOption const&)'
CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `cv::MatConstIterator::MatConstIterator(cv::Mat const*)':
camera_extrinsics.cpp:(.text._ZN2cv16MatConstIteratorC2EPKNS_3MatE[_ZN2cv16MatConstIteratorC5EPKNS_3MatE]+0xf3): undefined reference to `cv::error(int, std::string const&, char const*, char const*, int)'
CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `cv::Mat_<float>::operator=(cv::Mat const&)':
camera_extrinsics.cpp:(.text._ZN2cv4Mat_IfEaSERKNS_3MatE[_ZN2cv4Mat_IfEaSERKNS_3MatE]+0x189): undefined reference to `cv::error(int, std::string const&, char const*, char const*, int)'
collect2: error: ld returned 1 exit status
CMakeFiles/calib_k4a.dir/build.make:191: recipe for target 'calib_k4a' failed
make[2]: *** [calib_k4a] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/calib_k4a.dir/all' failed
make[1]: *** [CMakeFiles/calib_k4a.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

Ubuntu 18.04

可以参考下文章:https://blog.csdn.net/qq_21501579/article/details/120957470