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 이라는 것도 있습니다.
이번에는 그쪽을 도입하고 싶습니다.
Reference
이 문제에 관하여(Embeddable Common Lisp 및 Qt5로 GUI 애플리케이션 ~ 개발 환경 구축 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fireflower0/items/3272199e46fb940272a9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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 이라는 것도 있습니다.
이번에는 그쪽을 도입하고 싶습니다.
Reference
이 문제에 관하여(Embeddable Common Lisp 및 Qt5로 GUI 애플리케이션 ~ 개발 환경 구축 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fireflower0/items/3272199e46fb940272a9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git clone https://gitlab.com/eql/EQL5.git
cd ダウンロードしたディレクトリ/EQL5/src
ecl -shell make
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 이라는 것도 있습니다.
이번에는 그쪽을 도입하고 싶습니다.
Reference
이 문제에 관하여(Embeddable Common Lisp 및 Qt5로 GUI 애플리케이션 ~ 개발 환경 구축 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fireflower0/items/3272199e46fb940272a9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
(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 이라는 것도 있습니다.
이번에는 그쪽을 도입하고 싶습니다.
Reference
이 문제에 관하여(Embeddable Common Lisp 및 Qt5로 GUI 애플리케이션 ~ 개발 환경 구축 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fireflower0/items/3272199e46fb940272a9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)