4. QtCreator와 QGIS 준비 및 실행

QtCreator는 Qt 라이브러리 제작자들이 만든 통합 개발 환경(Integrated Development Environment; IDE)입니다. QtCreator를 사용하면 어떤 C++ 프로젝트라도 빌드할 수 있기는 하지만, 사실 Qt 기반 (모바일 앱을 포함하는) 응용 프로그램 개발에 특화되어 있습니다.

4.1. QtCreator 설치

QtCreator는 모든 주요 플랫폼에서 사용할 수 있으며 https://www.qt.io/download 에서 다운로드할 수 있습니다. (오픈소스 링크로 가세요.) 설치 과정은 사용자 플랫폼에 따라 다릅니다.

유닉스 계열 플랫폼을 실행하고 있다면, 명령 줄을 사용하면 됩니다. 예를 들어 데비안에서는:

sudo apt install qtcreator qtcreator-doc

설치가 완료되었다면 사용자 메뉴에서 QtCreator를 볼 수 있을 겁니다.

4.2. 사용자 프로젝트 설정

We assume you have already got a local QGIS clone containing the source code, and have installed all needed build dependencies etc. There are detailed instructions for git access and dependency requirements.

여기부터는 시스템의 $HOME/dev/cpp/QGIS 로 코드를 체크 아웃한 상태라고 가정하고 쓰였습니다. 사용자 로컬 시스템에서도 이 경로를 적절하게 업데이트해주어야 합니다.

QtCreator를 실행한 다음 File ► Open File or Project 메뉴를 여십시오.

파일 선택 대화창이 뜨면 다음 파일을 찾아 여십시오:

$HOME/dev/cpp/QGIS/CMakeLists.txt
../../_images/selectCMakeLists.png

QtCreator가 프로젝트를 파싱해서 Configure Project 대화창이 뜨면 빌드 위치 및 옵션을 설정할 수 있습니다.

QGIS가 디버그 케이퍼빌리티를 가져야 하므로, 여기에서는 디버그 항목만 활성화하고 빌드 위치를 입력할 것입니다:

  1. Desktop 항목을 활성화하려면 checkbox Select all kits 체크박스를 체크하십시오.

  2. checkbox Debug 하위 항목을 제외한 모든 항목을 체크 해제하십시오.

  3. 경로 항목에 빌드 디렉터리를 입력하십시오. 이 예제의 목적을 위해, QtCreator 특화 빌드 디렉터리를 생성합니다:

    $HOME/dev/cpp/QGIS/build-master-qtcreator
    

    사용자 디스크 용량이 허락한다면 서로 다른 브랜치마다 개별 빌드 디렉터리를 생성하는 편이 좋을 것입니다.

    ../../_images/configureProject.png

기본 설정은 끝났습니다. Configure Project 버튼을 누르면 QtCreator가 자동 완성 지원을 위해 소스 트리를 검색하기 시작하고, 배경에서 몇몇 기타 필요한 작업을 수행할 것입니다.

../../_images/configurationDone.png

빌드를 시작하기 전에 몇 가지 사항을 조정해야 합니다.

4.3. 사용자 빌드 환경 설정

QtCreator 창 왼쪽에 있는 Projects 아이콘을 클릭하십시오.

../../_images/leftPanel.png

Build 설정 탭을 선택하세요. (일반적으로 기본 활성화되어 있을 겁니다.)

../../_images/buildSettings.png

이 대화창에서는 Debug 빌드 환경설정을 볼 수 있으며 CMake 부분에서 설정을 편집할 수 있습니다. 첫 패스(pass)에 대해서는 기본 환경설정으로 충분할테지만, 사용자의 필요에 따라 다음과 같은 기능들을 더 활성화해야 할 수도 있습니다:

  • WITH_3D = ON: 3D 렌더링 용

  • WITH_CUSTOM_WIDGETS = ON: 인터페이스 디자인을 위한 QGIS 사용자 지정 위젯 추가

Apply Configuration Changes 를 누르십시오.

기본적으로, QtCreator는 빌드 속도를 최대 병렬화를 통해 향상시키기 위해 사용할 수 있는 모든 CPU 코어를 사용합니다. 사용자 컴퓨터가 멈추는 일을 피하려면, 더 적은 코어 개수를 지정해야 합니다. Build Steps 부분에서:

  1. Add build step ► 메뉴를 클릭한 다음 Custom Process Step 을 선택하십시오.

  2. 새 양식에 다음과 같이 입력하십시오:

    • Command: make

    • Arguments: 코어 4개를 사용하려면 -j4 (사용자 장치 사양에 따라 설정은 달라집니다)

    • Working directory: %{buildDir}

../../_images/customProcess.png

참고

또한, 빌드 시간을 줄이고 싶다면 make 대신 비슷한 빌드 옵션을 가지고 있는 ninja 를 사용하면 됩니다. CMake generator 로 설정해야 합니다.

  1. Tools ► Options ► Build & Run ► Kits 를 여십시오.

  2. Desktop (default) 킷 항목을 선택하면 그 속성을 표시합니다.

  3. CMake generator 옆에 있는 Change… 를 클릭하십시오.

이제 빌드 준비가 끝났습니다. 대화창 좌하단에 있는 build Build 버튼을 (또는 Ctrl+B 단축키를) 누르면 프로젝트 빌드를 시작할 것입니다! QtCreator가 컴파일 작업을 시작하는데, 사용자 장치의 사양에 따라 처음에는 시간이 조금 걸릴 수도 있습니다.

컴파일 작업이 완료되면, runInstall Run 버튼을 눌러 QGIS를 실행할 수 있습니다.

QGIS 컴파일 작업은 빌드 디렉터리에 바이너리 파일도 생성합니다. 즉 명령 줄에서 다음과 같이 QGIS를 실행할 수 있습니다:

cd $HOME/dev/cpp/QGIS/build-master-qtcreator
./output/bin/qgis

빌드 디렉터리가 아닌 위치에 QGIS를 실행 가능한 파일로 설치해야 할 경우도 있을 것입니다.

  1. CMAKE_INSTALL_PREFIX 를 사용자가 쓰기 권한을 가지고 있는 위치로 (여기에서는 $HOME/apps 로) 설정하십시오. 이렇게 하면 (예를 들어 사용자의 패키지 관리자로 설치한) 기존 QGIS 설치본을 덮어쓰는 일을 피할 수 있을 겁니다.

    ../../_images/customInstallPrefix.png
  2. Apply Configuration Changes 를 눌러 설정을 업데이트하십시오.

  3. build 버튼을 누르십시오.

  4. 빌드가 완료되면, qgis 실행 가능 파일이 $HOME/apps/bin 폴더에 생성되었을 것입니다.

4.4. 실행 및 디버그

이제 QGIS를 실행하고 디버그할 준비가 끝났습니다. 브레이크포인트 를 설정하려면, 소스 파일을 열고 왼쪽 열을 클릭하기만 하면 됩니다.

../../_images/breakPoint.jpeg

이제 디버거 창의 좌하단에 있는 runDebug Start Debugging 을 클릭해서 QGIS를 실행하십시오.