CODE $\Sigma$

2023/03/15
Point CloudのVTK include error
ROS

Ubuntu 22.04, ROS2 Humbleにて,pcl visualizerを用いるプログラムを使うとき,以下のようなエラーが発生しました.

/usr/include/pcl-1.12/pcl/visualization/common/common.h:48:10: fatal error: vtkSmartPointer.h: そのようなファイルやディレクトリはありません
   48 | #include <vtkSmartPointer.h>
      |          ^~~~~~~~~~~~~~~~~~~

確かに,/usr/include/pcl-1.12/pcl/visualization/common/common.hというファイルはあり,そこに#include <vtkSmartPointer.h>はあった.そこを絶対パスに変更すれば,そのファイルのビルドは通過しました.

しかし,その方法では,vtk を用いるすべてのPclファイルを変更しなければならず,良い方法ではないです.
そこで,PATHを追加することで,この問題を解決することができました.

解決法

以下の文面を~/.bashrcに追加します.

export CPATH=$CPATH:/usr/include/vtk-9.1

私が使っているvtkのバージョンはvtk-9.1だったので,このように記述しています.
使用者のインストールしているVTKのファイルの場所に応じて,変更する必要があります.