Windows Mobile 단말기가 하나 있다. 이놈 위에 웹킷을 올려보고 싶었다. 이리저리 찾던 중에, Qt WebKit 브라우저가 눈에 들어왔다. 다시 말하지만, 웹킷은 브라우저 엔진일뿐 브라우저가 아니다. 이놈을 브라우저로 동작하게 만들려면 많은 노력이 필요하다. Qt WebKit 프로젝트가 바로 그런 노력을 하고 있는 프로젝트다. 마침 "한.글.로.된." 좋은 블로그 글을 찾아 편안한 마음으로 시도해볼 수 있었다. 자기가 겪은 경험을 글로 정리해서 공개하는 사람들에게 다시 한번 감사하는 마음을 전한다.
http://www.korone.net/bbs/board.php?bo_table=qt_lecture&wr_id=465

하지만, 세상 모든 일이 그렇듯 뭔가 넘기 힘든 고개들이 있었다. 그런 고개들이 있어야 성공했을 때 성취감을 느낄 수 있는 것 아니겠는가? 나 다음 개발자들은 그런 성취감(?)을 느끼지 못하기를 기도하며 몇가지 경험을 정리한다.

처음에는 Cygwin 콘솔창을 열고 작업 했는데, 뭔가 잘 안됐다. 다음의 웹 페이지를 보고 원인을 알게 됐다. Qt WebKit을 Cygwin서 빌드하는 것은 원래 아직 안되는 것이었다 (2008.11.13. 현재). 그래서 WinXP 32bit의 커맨드 콘솔(cmd.exe)에서 작업했다. 커맨드 콘솔에서 작업하려면, 몇가지 GnuWin32 도구들을 설치해줘야 한다. 아래 "빌드 환경" 파트에 관련 내용을 정리했다.
http://trac.webkit.org/wiki/BuildingQtOnWindows

그리고, 빌드할 때 Qt WebKit 소스가 있는 드라이브의 루트 아래에 tmp 폴더를 만들어줘야 한다. 별거 아닌데, 이것 때문에 조금 고생했다.


빌드 환경
- WinXP 32bit
- Qt-wince를 다운로드 받아 빌드 완료한 상태 (참조 URL)
- Qt-WebKit 소스를 다운로드 받은 상태 (E:\Work\QtWebKit에 소스를 다운로드 함)
- 빌드를 위해 필요한 perl 및 GnuWin32 툴들을 설치한 상태 (참조 URL)


빌드 시퀀스

빌드 시퀀스를 순서대로 적으면 다음과 같다.
E:> cd \Work\QtWebKit\webkit
E:\Work\QtWebKit\webkit> mkdir \tmp
E:\Work\QtWebKit\webkit> mkdir WebKitBuild\Release
E:\Work\QtWebKit\webkit> perl WebKitTools\Scripts\build-webkit
... 성공 !!!  


이상이다.
이렇게 빌드한 바이너리를 Windows Mobile 6.1 단말기에 올리고 테스트해보고 있다. 실행화면과 사용 소감은 다음에 올릴 예정이다.
Posted by ingeeC
,

Windows Mobile에 Qt를 포팅하는 방법에 관한 아주 멋진 글을 찾았다. 블로그 기사가 일러주는 대로만 작업하면 거의 한방에 Qt 포팅이 끝난다. 존경 받아 마땅한 개발자다.

http://punbear.tistory.com/tag/Wince

나는 PDA 프로그래밍에 익숙하지 않다. Windows Mobile을 위한 프로그램을 개발하고 이를 PDA에 심어 실행시키는 절차가 낯설었다. 위에 소개한 블로그 기사 말미에 샘플 어플리케이션 실행에 관해 약간 덧붙이고 싶은 이야기가 있다.

Qt Example 실행하기

1. 샘플 선정
VS 2005로 $(solution_root)\examples\examples.sln 을 로드하면 수십개의 Qt 샘플 프로젝트들이 로드된다. 이중 pixelator 프로젝트가 남들에게 보여주기 괜찮았다. 이 프로젝트를 StartUp Project로 선택한다.

<<그림- StartUp Project 선택하기>>

2. 에뮬에서 실행하기
실행 타겟으로 Windows Mobile 6 Classic Emulator를 선택한다.

<<그림- 에뮬레이터 선택하기>>

3. 실행하기
실행 메뉴를 선택하면, Windows Mobile 에뮬레이터가 실행된다. 한참 기다리면 piexelator 어플이 실행된다.

<<그림- 실행하기>>


<<그림- pixelator 샘플 프로그램>>

4. 단말에서 실행하기
ActiveSync로 단말에 Qt DLL 들과 실행할 샘플 어플리케이션(pixelator.exe)을 같은 폴더에 복사하고, 단말의 프로그램 매니저로 이를 실행시키면 된다. 이때 C:\Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4i 폴더에 있는 msvcr80.dll 도 함께 단말에 복사시켜줘야 한다.
복사해야할 파일 목록은 다음과 같다.

$(solution_root)\lib 폴더에 있는 다음 파일들.
이 파일들은 Qt 빌드 결과물들이다.
QtCore4.dll
QtDesigner4.dll
QtDesignerComponents4.dll
QtGui4.dll
QtNetwork4.dll
QtScript4.dll
QtSql4.dll
QtSvg4.dll
QtTest4.dll
QtXml4.dll

VS2005의 run-time library DLL 파일.
C:\Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4i 폴더에 있다.
msvcr80.dll

샘플 어플리케이션 파일.
$(solution_root)\examples\itemviews\pixelator\release 폴더에 있다.
pixelator.exe

이상이다. 댓글과 트랙백 많이 환영한다. 한글로 된 개발 문서가 넘쳐나는 세상이 빨리 와야 한다.
Posted by ingeeC
,