从源代码编译ROS Kinetec在构建opencv时失败

问题描述:

我正在使用Arch机器并试图编译ROS桌面全部来自。当image_proc正试图链接可执行文件时,生成失败。从源代码编译ROS Kinetec在构建opencv时失败

以下是错误日志:

[ 23%] Built target image_proc_gencfg 
[ 84%] Built target image_proc 
[ 92%] Linking CXX executable /home/alphayed/ROS/ros_catkin_ws/devel_isolated/image_proc/lib/image_proc/image_proc 
/home/alphayed/ROS/ros_catkin_ws/install_isolated/lib/libopencv_viz3.so.3.1.0: undefined reference to `vtkSTLReader::New()' 
/home/alphayed/ROS/ros_catkin_ws/install_isolated/lib/libopencv_viz3.so.3.1.0: undefined reference to `vtkOBJReader::New()' 
collect2: error: ld returned 1 exit status 
make[2]: *** [CMakeFiles/image_proc_exe.dir/build.make:219: /home/alphayed/ROS/ros_catkin_ws/devel_isolated/image_proc/lib/image_proc/image_proc] Error 1 
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/image_proc_exe.dir/all] Error 2 
make: *** [Makefile:139: all] Error 2 

我认为这个问题是关系到opencv3。我从系统中删除它,并从源代码重新编译它,但没有解决问题。你能帮忙吗?

我发现按照此thread修复。您需要修改opencv3/cmake/OpenCVDetectVTK.cmake,每find_package(VTK QUIET COMPONENTS ...添加一个条目vtkIOGeometry