RaspberryPi에 EQL5 (Embedded Qt Lisp) 소개 노트

소개



EQL5(Embedded Qt Lisp)가 생각했던 것 이상으로 재미있었기 때문에, RaspberryPi에도 도입해 보았습니다.
그 순서를 정리해 둡니다.

※ 사전에 ECL을 설치해 주십시오.

ECL은 다음 기사를 참고하여 설치하십시오.
* Embeddable Common Lisp 소개 노트

Qt 도입



다음 명령으로 Qt 본체와 필요한 다양한 개발 도구를 설치합니다.
sudo apt install qt-sdk
sudo apt install qttools5-dev qttools5-dev-tools

초기 상태에서는 Qt Ver.4.8.7을 참조하고 있으므로 다음 명령으로 Qt Ver.5.7.1로 전환합니다.
export QTCHOOSER_RUNTOOL=qtconfig
export QT_SELECT=5



EQL5 도입



EQL5 소스 코드 세트 다운로드
git clone https://gitlab.com/eql/EQL5.git

다운로드한 EQL5의 "src"디렉토리로 변경합니다.
cd ダウンロードしたディレクトリ/EQL5/src

다음 명령을 실행합니다.
ecl -shell make

Makefile 만들기
qmake eql5.pro

컴파일
make

설치
sudo make install

성공적인 설치가 성공하면 다음 명령으로 버전을 확인할 수 있습니다.
eql5 -v

이때, 다음과 같은 WARNING이 나왔습니다만, 동작 자체는 문제가 없는 것 같습니다.
나중에 조사해 보겠습니다.
libEGL warning: DRI2: failed to authenticate
** (eql5:1649): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files



샘플 프로그램 실행



이번에는 "Sokoban"이라는 샘플 프로그램을 실행합니다.
다음 명령으로 샘플 프로그램이 있는 곳으로 들어갑니다.
(샘플 프로그램은 /EQL5/examples/ 디렉토리 아래에 있습니다.)
cd EQL5をダウンロードしたディレクトリ/EQL5/examples/7-Sokoban

다음 명령으로 실행합니다.
eql5 eql-sokoban.lisp

이하, 실행 화면입니다.
※ 아래의 화면에서는 Sokoban.lisp 이외에도 여러 샘플 프로그램을 동시에 실행하고 있습니다.



빈 창 프로그램



빈 윈도우 프로그램도 일단 기재해 둡니다.

test.lisp라는 이름으로 다음 프로그램 만들기

test.lisp
(in-package :eql-user)

(let ((window (qnew "QWidget"
                    "size" '(320 240)
                    "windowTitle" "Top-level widget")))
  (|show| window))

다음 명령으로 실행
eql5 test.lisp

이하, 실행중의 모습.



마지막으로



여러가지 시험했는데, EQL5에서는 간단하게 GUI 어플리케이션을 만들 수도 있어 매우 재미 있습니다.
한 번에 많은 샘플 앱을 기동해도 바삭바삭 동작하고 있었으므로, 성능면에서도 매우 좋다고 생각했습니다.

좋은 웹페이지 즐겨찾기