행복한 하루
라즈베리 파이(Raspberry Pi) 4 모델 B - Qt5 설치 및 Qt Creator 컴파일 환경 설정하기 본문
라즈베리 파이(Raspberry Pi) 4 모델 B - Qt5 설치 및 Qt Creator 컴파일 환경 설정하기
변화의 물결 2021. 12. 4. 00:05
안녕하세요.
라즈베리파이 4에 Qt설치를 쉽게 할 것이라 생각했는데, 바로 되지 않아서 해결한 방법 남겨봅니다. 인터넷에 나와 있는 설치 명령어로 바로 설치되면 좋겠지만, 안될 경우 참조하시면 됩니다. 우선 라즈베리파이 최신 OS를 설치한 경우라 가정하였습니다.
1. 라즈베리 파이 최신 버전 설치
https://www.raspberrypi.com/software/operating-systems/
사이트에서 " Raspberry Pi OS with desktop Release date: October 30th 2021" 버전을 다운하여 테스트하였습니다. (2021-10-30-raspios-bullseye-armhf.zip)
2. Qt 프로그램 설치
- 인터넷 사이트에 보면 아래와 같은 방법으로 설치하면 된다고 나오는데 이렇게만 하면 Qt 컴파일할 수 있는 라이브러리가 설치되지 않았습니다. 그래서 몇 가지 더 설치를 해주어야 했습니다. qtcreator는 실행되지만 빌드를 시킬 수 없었습니다.
$ sudo apt update
$ sudo apt upgrade
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
$ sudo apt install qtcreator
$ sudo apt install qt5-default (설치하라고 나오는데 설치되지 않음)
- 아래 참고 사이트를 확인해서 다시 설치하였습니다. 여기서도 qt5-default 가 설치되지 않아서 빼고, 명령어를 실행하면 다른 라이브러리들은 설치 가능했습니다.
$ sudo apt-get install qtbase5-dev qtdeclarative5-dev qt5-qmake qtcreator libqt5gui5 qtscript5-dev qtmultimedia5-dev libqt5multimedia5-plugins qtquickcontrols2-5-dev libqt5network5 cmake build-essential
- 정상적으로 설치되었는지 확인해보려면 아래와 같이 입력하면 설치된 버전을 확인할 수 있습니다.
pi@raspberrypi:~ $ qmake -version
3. 라즈베리파이 XWindow(GUI) Qt Creator에서 Qt 빌드 경로 설정하기
- Qt Creator에서 Tool 메뉴에서 직접 설정해주어도 되지만, 다른 방법으로 진행해보겠습니다. 단, 위의 Qt 버전이 확인된 경우입니다.
- 원래는 Qt Creator에서 라이브러리 경로 설정해주고 해야 하는데, 그렇게 하지 않고 프로젝트 파일을 읽어서 자동으로 경로가 설정되게 하는 것입니다. 그러기 위해서 간단한 소스 코딩이 필요합니다. (참고사이트 참고하였습니다.)
3.1 테스트할 프로그램을 위한 디렉터리를 생성
pi@raspberrypi:~ $ mkdir makeEnv
pi@raspberrypi:~ $ cd makeEnv
3.2 테스트 윈도우 폼(UI)을 생성하기 위한 소스 작성
pi@raspberrypi:~/makeEnv $ nano makeEnv.cpp
혹은
pi@raspberrypi:~/makeEnv $ vim makeEnv.cpp
원하는 편집 툴을 사용해서 소스파일을 생성하고 소스 내용을 추가합니다.
#include <QApplication>
#include <QWidget>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
window.resize(200, 200);
window.setWindowTitle("Make Env");
window.show();
return app.exec();
}
3.3 Qt 프로젝트 파일을 생성
pi@raspberrypi:~/makeEnv $ qmake -project
하면 makeEnv.pro 파일이 생성됩니다.
3.4 UI 필요 모듈 추가
- 프로젝트 파일(makeEnv.pro)을 열어서 widgets 모듈을 추가해줍니다. (core와 gui 모듈은 기본적으로 추가되어 있다고 합니다.)
pi@raspberrypi:~/makeEnv $ vim makeEnv.pro
QT += widgets
- 여기까지 작업하고 Qt Creator를 실행시켜 프로젝트 파일을 불러서 Qt Creator에서 작업해도 됩니다. 그렇지만 Shell에서 작업을 마무리해보겠습니다.
3.5 Makefile 생성
- 컴파일과 링커를 위한 경로 등 컴파일 환경을 만들어주는 makefile를 만듭니다.
pi@raspberrypi:~/makeEnv $ qmake
3.6 컴파일 & 실행
- 컴파일하고 실행시키면 아래와 같은 실행결과를 볼 수 있습니다.
pi@raspberrypi:~/makeEnv $ make
pi@raspberrypi:~/makeEnv $ ./makeEnv
4. Qt Creator에서 컴파일 환경 설정 불러오기
- 위와 같이 작업을 하고 라즈베리파이의 Qt Creator에서 makeEnv.pro 불러옵니다. 그리고 "Tools -> Options" 메뉴로 들어가면 컴파일을 위한 경로들이 자동으로 불러온 것을 확인할 수 있습니다. 이후에 새로운 프로젝트 할 때도 경로가 저장되어 있으니 문제없이 새로운 프로젝트를 컴파일할 수 있습니다.
- 라즈베리파이에 Qt 설치하고 환경 설정하는 것까지 테스트해보았습니다. RasberryPi 4 Model B 시리즈에서 테스트를 했는데 생각 외로 소스가 빠르게 컴파일이 되어서 간단한 프로그램들은 라즈베리파이에서 작업이 가능할 걸로 보였습니다.
혹시 Qt5.12 LTS 버전 소스를 컴파일시켜서 실행해보고자 하신다면 아래의 링크를 참고하시면 됩니다.
https://www.tal.org/tutorials/building-qt-512-raspberry-pi
감사합니다.
<참고 사이트>
1. Raspberry Pi 4에 Qt5 설치
https://webnautes.tistory.com/957
2. Qt5 설치 및 사용을 해보자
3. 라즈베리파이 Qt 설치하기 - Label과 PushButton 실습