터미널에서 CMake로 Qt 프로젝트 빌드 시 Qt5Config.cmake 파일을 찾지 못하는 문제 해결

Qt Creator를 사용할 때는 정상적으로 빌드되지만, 터미널에서 직접 CMake를 통해 빌드를 시도하면 다음과 같은 오류가 발생할 수 있습니다:

CMake Error at CMakeLists.txt:3 (find_package):
  Could not find a package configuration file provided by "Qt5" (requested
  version 5.15) with any of the following names:

    Qt5Config.cmake
    qt5-config.cmake

이 오류는 CMake가 시스템 내 Qt의 설치 경로를 탐지하지 못해 발생합니다. Qt는 별도의 CMake 구성 파일(Qt5Config.cmake)을 제공하며, 이 파일이 없거나 경로가 지정되지 않으면 빌드가 실패합니다.

문제 원인 분석

Qt는 기본적으로 apt 또는 공식 설치 프로그램을 통해 설치되며, 후자의 경우 사용자 지정 경로에 설치되어 시스템 환경 변수에 자동 등록되지 않을 수 있습니다. 특히 Qt 다운로드 및 설치 도구(Online Installer)를 사용해 특정 디렉터리에 설치한 경우, CMake가 해당 위치를 자동으로 탐색하지 못합니다.

해결 방법

먼저, Qt5Config.cmake 파일이 실제로 존재하는 위치를 확인해야 합니다. 아래 명령어를 사용해 검색합니다. 예시에서는 사용자가 /home/gyt/Qt2/5.15.2에 Qt를 설치했다고 가정합니다.

find /home/gyt/Qt2/5.15.2 -name "Qt5Config.cmake"

검색 결과 예시:

/home/gyt/Qt2/5.15.2/gcc_64/lib/cmake/Qt5/Qt5Config.cmake
/home/gyt/Qt2/5.15.2/android/lib/cmake/Qt5/Qt5Config.cmake

여기서 일반적인 데스크톱 애플리케이션 개발에는 gcc_64 디렉터리의 경로를 사용해야 하며, Android용은 NDK 기반 빌드에 사용됩니다. 따라서 유효한 경로는 다음과 같습니다:

/home/gyt/Qt2/5.15.2/gcc_64/lib/cmake/Qt5

CMake에 Qt 경로 수동 지정

빌드 전에 환경 변수 CMAKE_PREFIX_PATH를 설정하여 CMake가 Qt를 인식하도록 해야 합니다. 다음 절차를 따르세요:

# 프로젝트 디렉터리로 이동
cd /path/to/your/project

# 빌드 디렉터리 생성 및 진입
mkdir build && cd build

# Qt 경로를 CMAKE_PREFIX_PATH에 추가
export CMAKE_PREFIX_PATH=/home/gyt/Qt2/5.15.2/gcc_64/lib/cmake/Qt5:$CMAKE_PREFIX_PATH

# CMake 구성 실행
cmake ..

이제 오류 없이 구성이 완료되어야 하며, 이후 빌드를 진행할 수 있습니다.

지속적인 환경 설정

매번 터미널을 열 때마다 위 환경 변수를 설정하는 것은 비효율적이므로, 이를 영구적으로 등록하기 위해 ~/.bashrc 파일에 추가합니다.

echo 'export CMAKE_PREFIX_PATH=/home/gyt/Qt2/5.15.2/gcc_64/lib/cmake/Qt5:$CMAKE_PREFIX_PATH' >> ~/.bashrc
source ~/.bashrc

이후 새 터미널을 열거나 source ~/.bashrc를 실행하면 자동으로 경로가 로드됩니다.

빌드 및 실행

CMake 구성이 성공하면 다음과 같이 빌드하고 실행할 수 있습니다.

make
./shiyan  # 생성된 실행 파일 이름

재빌드 시 주의사항

설정 변경 후 재시도가 필요할 경우, 기존 빌드 캐시를 제거하고 새로 시작하는 것이 안전합니다.

rm -rf build
mkdir build && cd build
cmake ..
make

이 과정을 통해 Qt Creator 외부에서도 명령줄 기반으로 안정적인 빌드 환경을 구축할 수 있습니다.

태그: Qt cmake linux Embedded Development Flything Pi

7월 3일 17:47에 게시됨