从源代码编译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