2020년 1월 10일 금요일

qt on msys2

* 최신 msys2 다운 및 설치

* mingw64.exe 실행

* 패키지 DB 업데이트
# pacman -Syu
종료 후 그대로 창 닫기

* mingw64.exe 다시 실행

* 업데이트
# pacman -Su

* QT 및 필요 패키지 설치
# pacman -S mingw-w64-x86_64-qt5 mingw-w64-x86_64-qt5-static mingw-w64-x86_64-gcc mingw-w64-x86_64-clang make diffutils vim man-db

* QT 프로그램 작성
# mkdir hello
# cd hello
# cat hello.cpp
#include 
#include 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QPushButton button("Hello world!");
    button.show();

    return app.exec();
}

* windows-vulkan.conf 파일 수정 (참고: https://bugreports.qt.io/browse/QTBUG-76660)
@@ -1,2 +1,2 @@
-load(windows_vulkan_sdk)
+load(win32/windows_vulkan_sdk)
 QMAKE_LIBS_VULKAN       =

* 프로젝트 파일 생성
# qmake -project

* QApplication 헤더 파일의 디렉토리 검색
# pacman -Ql mingw-w64-x86_64-qt5 | grep -w QApplication | sed 's;.*/Qt;;; s;/.*;;' | tr 'A-Z' 'a-z'
widgets

* 프로젝트 파일(hello.pro) 에 헤더파일 디렉토리 추가
@@ -2,6 +2,7 @@
 # Automatically generated by qmake (3.1) Sat Jan 11 16:16:08 2020
 ######################################################################

+QT += widgets
 TEMPLATE = app
 TARGET = qt
 INCLUDEPATH += .

* Makefile 생성
# qmake

* 빌드
# make

* 실행
# debug/hello.exe