therecipe/qt의 설치 과정 (2018년 6월 6일 기준)


목차

0. 배경지식

1. Go 설치

2. Qt 설치

3. MSYS2 설치

4. 환경변수 설정

5. therecipe/qt 설치

6. 빌드하기

7. 번외 (go build시 에러 해결)


0. 배경지식


Qt가 지원하는 프로그래밍 언어

1) C++: Qt는 원래는 C++용이었습니다.

2) Python: PyQt라고 하는 파이썬 버전의 Qt도 있습니다.

3) Go: therecipe/qt는 Qt의 Go 언어용 바인딩입니다.


PyQt 참고

2018/03/30 - [Methods] - PyQt & Qt Designer 사용하기


1. Go 설치


https://golang.org/doc/install에서 Go의 인스톨러를 내려받고 대충 다음 다음 다음 눌러서 설치합니다. 단 자기가 어디에 무엇을 설치하는지 정도는 파악하고 있어야 합니다. 환경변수 GOROOTGOPATH만 확인해 주세요. 참고- Go를 쓰려면 GOPATH와 패키지, 작업공간의 의미를 이해하고 있어야 합니다.


2. Qt 설치


C++용 Qt를 설치합니다. https://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe에서 공식 배포되는 인스톨러를 내려받아 실행합니다. 설치 옵션은 기본으로 두고 다음 다음 다음 눌러서 설치를 마칩니다. 자기가 어디에 뭘 설치하는지 봐 두어야 합니다. 이 과정에서 Qt Designer 등 Qt 개발용 도구를 지원하는 Qt Creator가 함께 설치됩니다.


3. MSYS2 설치


http://www.msys2.org/에서 MSYS2의 인스톨러를 내려받아 실행합니다. 어느 경로에 설치되는지 잘 보고 다음 다음 다음 눌러서 설치합니다.


MSYS2가 무엇인지 모른다면 아래 글을 참고해 주십시오.


2018/06/04 - [Methods] - 윈도우즈 시스템에서 리눅스 프로그램 이용하기


4. 환경변수 설정


- 윈도우즈에서 환경변수 편집창 띄우는 법: [내 컴퓨터 우클릭 (옵션 메뉴) - 속성 - 고급 시스템 설정 - 환경 변수]

- QT_DIR이라는 이름의 환경변수의 값을 자신이 Qt를 설치한 경로로 설정합니다.

- QT_MSYS2_DIR이라는 이름의 환경변수의 값을 자신이 MSYS2를 설치한 경로로 설정합니다.


- 중간점검: QtMSYS2를 설치하고 QT_DIRQT_MSYS2_DIR의 두 환경변수까지 설정했으면 therecipe/qt의 설치 준비를 마친 것입니다.


5. therecipe/qt 설치


데스크탑 어플리케이션 개발을 타겟으로 하는 therecipe/qt의 설치 과정입니다.


MSYS2 터미널 실행후 다음 명령어를 순서대로 실행합니다.


(잘 안 되면 터미널이 출력하는 에러 메시지를 참고해서 융통성 있게 해결하기 바랍니다.)


$ pacman -Syyu

$ pacman -S gcc

$ pacman -S mingw-w64-x86_64-qt-creator mingw-w64-x86_64-qt5

$ pacman -Scc

$ go get -u -v github.com/therecipe/qt/cmd/...

$ $GOPATH/bin/qtsetup


이로써 therecipe/qt의 설치는 끝입니다.


해당(5.) 단계의 수행에 대한 예상 소요시간은 한 시간 이상이며 3시간 정도 걸릴 수 있습니다.


이 과정 중간이나 이후에 추가적인 정보가 필요한 경우 다음 웹페이지를 참고하십시오.


https://github.com/therecipe/qt/wiki/Installation

https://github.com/therecipe/qt/wiki/Installation-on-Windows

https://github.com/therecipe/qt/issues


6. 빌드하기


1) 예제 어플리케이션 빌드 (테스트 수행)[각주:1]

$ go get -d -v github.com/therecipe/examples/...

$ cd $GOPATH/src/github.com/therecipe/examples

$ qtdeploy test desktop ./basic/widgets


2) qtdeploy를 이용한 빌드[각주:2]

$ qtdeploy build desktop


3) go build를 이용한 빌드

$ go build




7. 번외 (go build시 에러 해결)


go build를 이용한 빌드에서 아래와 같은 에러를 출력할 수 있습니다.


invalid flag in #cgo CFLAGS: -fno-keep-inline-dllexport


해결 방법은 간단합니다.[각주:3][각주:4]


다음 세 개의 환경변수를 생성합니다.


CGO_CFLAGS_ALLOW

CGO_CXXFLAGS_ALLOW

CGO_LDFLAGS_ALLOW


셋 모두 값을 .*으로 설정한 뒤, go build가 오류 없이 수행되는 것을 확인합니다.


(끝입니다.)


  1. https://github.com/therecipe/qt/wiki/Getting-Started [본문으로]
  2. https://github.com/therecipe/qt/wiki/Available-Tools [본문으로]
  3. https://github.com/therecipe/qt/issues/549 [본문으로]
  4. https://github.com/therecipe/qt/wiki/Installation [본문으로]
Top