본문 바로가기

공부/프로그래밍

[Eigen] QtCreator CMake 프로젝트를 위한 Eigen 설치 및 설정

Eigen은 별도의 설치 없이 소스파일을 다운로드 받아 필요한 프로젝트 폴더에 붙여넣어 사용하거나, 특정 폴더에에 저장하고 환경변수 Path를 지정해서 사용할 수 있다,,

하지만, CMake 프로젝트로 개발을 진행 할 경우 Eigen3Config.cmake 파일의 경로를 CMake에게 알려줘야 하기 때문에 위의 방법으로 진행할 경우 find_package()가 Eigen을 찾지 못해 프로젝트 로딩 에러가 뜬다,,

 

또한, Eigen 소스코드를 CMake를 이용해 MSVC나 MinGW 등 특정 컴파일러를 위한 솔루션/프로젝트 파일을 만들더라도 빌드하지 않고 인스톨만 할 경우 마찬가지의 에러가 뜬다. 왜냐하면 Eigen3Config.cmake는 소스코드를 빌드해야 생기기 때문,,

 

Eigen3Config.cmake는 Eigen3Config.cmake.in이라는 템플릿으로부터 생성되는 파일이다. 따라서 소스코드에 Eigen3Config.cmake.in이 있어야 한다. 보통 src\cmake에 있다,,

그런데, Eigen3는 릴리즈 버전에 따라 Eigen3Config.cmake.in 파일이 없는 경우도 있다는 것에 주의하자. 소스코드 다운로드 후 반드시 확인!!! (3.2.10은 이 파일이 없고, 3.3.8은 있음)

 

Eigen 3.2.10, Eigen3Config.cmake.in 파일이 없음
Eigen 3.3.8, Eigen3Config.cmake.in 파일이 있음

 

소스코드에서 Eigen3Config.cmake.in을 확인했다면 CMake로 타겟 컴파일러의 솔루션/프로젝트를 생성하고 빌드 후 인스톨하자. 그러면 인스톨 폴더에 아래 그림처럼 Eigen3Config.cmake 파일이 생성된 것을 확인할 수 있다,,

 

인스톨 폴더에 Eigen3Config.cmake 파일 생성

 

이 경로를 아래 그림처럼 시스템 환경변수로 등록해주면 CMake 프로젝트에서 Eigen 패키지 로딩 에러가 해결된다,,

 

시스템 환경변수 Eigen3_DIR 설정