Embeddable Common Lisp 및 Qt5로 GUI 애플리케이션 ~ 개발 환경 구축 ~

4576 단어 QtECLcommon-lisp

소개



ECL(Embeddable Common Lisp)의 Qt 바인딩인 EQL5 (Embedded Qt Lisp)을 도입하고 싶습니다.

※ OS는 Ubuntu 17.10을 사용하고 있습니다.
※ 사전에 ECL을 설치해 주십시오.

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

Qt 도입



Qt를 설치하려면 Qt 공식 사이트에서 계정을 등록해야 합니다.

Qt 다운로드 페이지에서 Qt를 다운로드합니다.
버전은 5.8 이상이라면 좋다고 생각합니다.
자신은 5.9.1을 다운로드했습니다.
wget https://download.qt.io/archive/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run

다음 명령으로 실행 권한을 부여합니다.
chmod u+x qt-opensource-linux-x64-5.9.1.run

설치 프로그램을 실행합니다.
./qt-opensource-linux-x64-5.9.1.run

나중에 화면에 따라 설치하십시오.
도중에, 유저명과 패스워드를 입력하는 개소가 있습니다만, 거기에서는 Qt계정 등록했을 때의 것을 넣어 주세요.

자신의 환경에서는 상기만으로는 잘 되지 않았으므로, 이하도 실행했습니다.
sudo apt install qt-sdk
sudo apt install qttools5-dev qttools5-dev-tools

EQL5 도입



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

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

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

Makefile 만들기
qmake eql5.pro

컴파일
make

여기서 다음과 같은 오류가 발생하지만 무시해도 설치가 가능했습니다.
여기는 나중에 조사해 나갈 예정입니다.
Project ERROR: Unknown module(s) in QT: multimedia multimediawidgets
Makefile:69: ターゲット 'sub-module_multimedia-pro-make_first' のレシピで失敗しました
make: *** [sub-module_multimedia-pro-make_first] エラー 3

설치
sudo make install

컴파일과 마찬가지로 여기에서도 다음 오류가 발생하지만 설치 자체는 성공했습니다.
Project ERROR: Unknown module(s) in QT: multimedia multimediawidgets
Makefile:77: ターゲット 'sub-module_multimedia-pro-install_subtargets' のレシピで失敗しました
make: *** [sub-module_multimedia-pro-install_subtargets] エラー 3

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



샘플 프로그램 실행



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

다음 명령으로 실행합니다.
eql5 eql-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

이하, 실행중의 모습.



마지막으로



Qt의 도입이 생각한 것 이상으로 어려웠다···.
아니, 단순히 처음 만졌으니까 고생했을 뿐이었는지···?
어쨌든 EQL5를 설치하는 것이 좋았습니다.

이번에는 데스크톱 애플리케이션이었지만 EQL5에는 Android 개발도 할 수 있는 EQL5-Android 이라는 것도 있습니다.
이번에는 그쪽을 도입하고 싶습니다.

좋은 웹페이지 즐겨찾기