1. 程式人生 > >iai_kinect2 ros kinetic下編譯錯誤的問題

iai_kinect2 ros kinetic下編譯錯誤的問題

/opt/ros/kinetic/include/opencv-3.2.0-dev/opencv2/flann/saving.h:113:63: error: exception handling disabled, use -fexceptions to enable
throw FLANNException("Invalid index file, cannot read");

出現這個問題的原因是kinetic版本預設使用的OpenCV-3.2。有一個編譯選項在以前版本是沒問題的,在OpenCV-3.2就有點問題。這就是-fexceptions

解決方法

iai_kinect2/kinect2_registration/CMakeLists.txt

的66行刪掉

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")

在官方的源上已經有人提出了這個pull request, 然而官方還沒有merge進去。希望以後能解決這個問題吧。