2014. 3. 30.

Ubuntu / Kubuntu 에서 간단하게 Qt 설치하기

블로그 글을 읽는 분들의 위치와 관심있어 하는 분야를 살펴보면
생각외로 (혹은 나의 관심 사항과는 상관없이)
'Qt 설치하기'가 항상 최고의 클릭수를 차지하고 있다.

무엇이든지 처음 시작하는게 제일 어려운 일인듯 하다.
오늘 쓰여질 글은
Ubuntu / Kubuntu 에서 간단하게 Qt 설치하기 이다.

Ubuntu는 이미 워낙 잘 알려져 있는 리눅스 배포판이니, 추가적으로 설명드릴 필요는 없을 것 같고 Kubuntu는 조금 설명드려야 할 것 같다.
Kubuntu는 KDE Ubuntu를 의미하는 Ubuntu와 동일한 Core를 가지는 데미안 리눅스이다.

차이가 있다면 Ubuntu는 Gnome을 기본 Desktop UI 환경을 가지는 리눅스 배포판이고, Kubutu는 KDE를 기본 Desktop UI 환경으로 가지는 리눅스 배포판인것이다.

Kubuntu = KDE + Ubuntu


물론 Ubuntu 설치해 놓고, Desktop UI 환경을 KDE로 변경하여 설치할 수도 있겠지만 필요없는 Gnome 환경들이 남아 있는 것이 마음에 거슬리고, 또 모든 것이 Qt Based로 구동되는 KDE에 비해 효율성이 떨어지는 것을 참기 힘드신 분들은 Kubuntu를 사용하시면 되겠다.

Ubuntu나 Kubuntu와 같은 데미안 계열의 배포판에서는 Application 설치를 위해서 aptitude 나 apt-get을 사용하는데 보통 다음과 같이 사용한다.

$ aptitude search "찾고 싶은 app"
$ sudo apt-get install "설치하고 싶은 app"

aptitude 가 설치 되어 있지 않는 경우에는

$ sudo apt-get install aptitude 

라고 하면 aptitude를 설치해 주는 식인것이다.

$ aptitude search qt

라고 입력하면 qt와 관련된 app들이 죽 나열된다.

$ aptitude search qt | grep qt4 

라고 하면 qt4에서 사용되는 경우만 필터링 된다.
필터링된 것들 중에 자신이 설치하고 싶은 app들을 다음과 같이 입력해 주면 된다.

$ sudo apt-get install build-essential 

여기서 build-essential 은 유닉스(리눅스) 개발자들이라면 반드시 설치하게될 모듈인데, 일반적으로 개발자들이 사용하게될 기본적인 필수 app등을 모아둔 일종의 Toolbox라고 보면 된다.
Qt도 유닉스 개발환경이기 때문에 위에 있는 build-essential을 설치해 주어야 한다.
그 외에는 다음과 같이 입력하면 설치 완료

$ sudo apt-get install qt4-dev-tools qt4-qmake libqt4-dev qimhangul-qt4

결과는 다음과 같이 진행된다.




Application에서 사용될 Icon Loading



Application의 Icon 로딩

QIcon을 App에 로딩시키기


요구조건:

Multi-platform 지원
Icon을 읽어들여 Application에서 사용할 수 있도록 한다.


Application에서 사용하는 Icon을 사용할 수 있는 방법은 

QApplication app(argc, argv);
app.setWindowIcon(QIcon(“:/res/ticon_256.png”));

하지만 Mac과 Windows의 경우에는 자체 Icon 형식을 가지고 있으므로, 다음과 같이 해당 OS의 형태에 맞도록 Application compile시 외부에서 로딩 하도록 해 주어야 한다. 

Windows:

RC 파일
         IDI_ICON1               ICON    DISCARDABLE     "myappico.ico"

myApplication.Pro 파일 내에서 다음과 같이 RC 파일을 포함 시켜 주어야 한다.

        RC_FILE = myapp.rc

MAC

myApplication.Pro file 내에서 다음과 같이 icon 파일을 포함시켜 주어야 한다.

        ICON = myapp.icns


Unix 계열의 경우에는 다음과 같이 처리한다.

setWindowIcon  사용 예제









2014. 3. 23.

Qt Cloud 서비스: Enginio

Qt 5.2.1 을 설치하다 보면, 다음과 같이 Qt Cloud Service를 선택하는 부분이 존재한다.

Qt Cloud Service Enginio

국내 개발자 중에 해당 서비스를 사용해 본 분이 있을까요?

추후 Qt Cloud Service Enginio에 관한 글도 계속하여 연재해보도록 하겠습니다.


Qt Multiplatform 개발 환경 구축을 위한 PATH / QMAKESPEC / QTDIR 설정하기



PATH / QMAKESPEC / QTDIR 설정하기


Qt로 개발환경을 결정하는 개발자의 가장 큰 이유는 아마 Multi-platform 일것이다.
내가 익숙하게 사용하는 개발 환경에서 한번만 개발 해두면 다양한 여러 환경에서 동작하는 Application을 만들 수 있다는 것은 대단한 장점이다.

Multi-Platform 사용시 자주 사용하는 환경변수는 PATH / QMAKESPEC / QTDIR 의 3가지 인데 3가지 변수만 잘 변경시켜 주면 컴파일시 큰 어려움없이 개발을 진행할 수 있다.

PATH

qmake나 Multi-platform에서 사용될 컴파일러, Toolchain들을 실행시킬 수 있는 변수들을 지정해 주어야 하며 다른 개발툴들의 Path 지정 방법과 동일하다.

QMAKESPEC

이 부분이 Qt를 사용하지 않았던 모글들이 가장 어려워하는 부분일 수 있는데 쉽게 설명하자면 특정 Platform에서 사용될 컴파일러 위치 및 Qt library 위치를 저장하고 관리하는 폴더이다. 보통 다음의 그림 이미지에서처럼 Qt Creator에서 관리되고 있다.

QTDIR

Qt 사용자중에서 작은 footprint를 원하는 개발자들이나 embedded 개발환경 Legacy library들을 사용하고자 하는 개발자들은 4.8.x 대를
iOS 개발환경이나 Android 개발 환경 혹은 QML을 사용하여 개발을 하고자하는 개발자들은 5.2.x 대의 개발환경을 사용하는 것 같다.
이와 같은 자신이 사용할 Qt 의 위치를 지정하는 환경변수이다.
5.2.1 버전에서는 다음과 같이 android_armv5 / android_armv7 / ios 지원용 폴더들이 추가되어 있다.




사용예제


Mac 개발 환경

export QTDIR=/Users/$USER/Qt/5.2.1/
export PATH=$QTDIR/clang_64/bin:$PATH

Unix(Linux) 개발 환경

export QTDIR = /usr/local/qt
export QMAKESPEC=/usr/local/qt/mkspecs/linux-g++
export PATH=$QTDIR/bin:$PATH

Windows 개발 환경


QTDIR = P:\QT\4.7.0
PATH = %QTDIR%\bin
QMAKESPEC=%QTDIR%\mkspecs\win32-msvc2005