Trouble/C, C++,CMake

CMake 시 발생하는 VTK not found 문제

침닦는수건 2023. 1. 19. 19:55
반응형
CMake Error at cMake/.../SOMETHING.cmake:29 (find_package):
  Could not find a package configuration file provided by "VTK" with any of
  the following names:

    VTKConfig.cmake
    vtk-config.cmake

  Add the installation prefix of "VTK" to CMAKE_PREFIX_PATH or set "VTK_DIR"
  to a directory containing one of the above files.  If "VTK" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:58 (SOMETHING)

 

VTK 란 The visualization Toolkit의 준말로 3D 컴퓨터 그래픽, 모델링, 이미지 처리 등을 위해 만들어진 오픈소스 소프트웨어다. 그래서 위 에러는 지금 빌드하고자 하는 코드 내에 존재하는 시각화 코드에서 VTK를 필요로 하는데 이 위치를 못찾고 있다는 에러다.

 

대표적으로 VTK는 OpenGL의 코어같은 역할을 담당하는데, OpenGL을 쓰는 코드를 빌드할 때 종종 눈에 띈다. 

 

해결법은 쉽게 VTK를 설치하고 그 경로를 CMakeLists.txt 파일 내에 명시해주면 된다. 

 

1. VTK 설치

 

https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/dev/getting_started_linux.md

 

Documentation/dev/getting_started_linux.md · master · VTK / VTK · GitLab

Visualization Toolkit

gitlab.kitware.com

 

설치는 아주 친절하게 위 링크에 기술되어 있으니 굳이 따로 정리할 필요가 없을 것 같다. 위 링크를 참조해서 설치하면 된다.

 

설치를 정상적으로 마쳤다면 /dev/vtk/build/bin 위치에 가보면 정상적으로 파일들이 존재한다. 

 

cd ~/dev/vtk/build
cmake ../VTK-x.y.z -DVTK_WRAP_PYTHON=ON -GNinja
# Build using the generator specified in cmake.
cmake --build .

 

여기서 -DVTK_WRAP_PYTHON은 python에서 사용 가능한 형태의 VTK를 같이 빌드하겠냐는 태그인데 굳이 python 안 쓸 것 같으면 빼고 하는게 낫다. python 버전 때문에 보게 될 다른 오류를 줄일 수 있다. 

 

2. CMakeLists.txt 수정

CMakeLists.txt 내에 다음 문장 하나를 추가하면 된다.

set(VTK_DIR "~/dev/vtk/build")

 

간단하다. 별 것 아니지만 그냥 기록.

반응형