크리에이티브 커먼즈 라이선스
Creative Commons License


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 ingee

댓글을 달아 주세요

  1. 김종연 2009.09.18 15:48 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요...웹킷엔진으로 간단한 모바일 브라우저를 만들어 볼려고 이리저리 찾다가 ingeec님 블로그까지 찾아왔네요...^^
    블로그 내용 보면서 QTWebkit을 윈도우 환경에서 빌드하는것 까지는 성공했는데...
    WinCE용으로 빌드하는 과정에서 git로 소스를 가져와 branch하는 과정에서 에러가 나서 빌드를 제대로 하지 못하고 있네요...
    $ git clone git://code.staikos.net/webkit -- 소스코드 가져오기 성공
    $ cd webkit
    $ git checkout -b wince origin/joerg/wince-master <-- 이 라인을 실행하면 다음과 같은 에러? 메시지가 나옵니다.
    fatal: git checkoout: updating paths is incompatible with switching branches.
    Did you intend to checkout 'origin/joerg/wince-master' which can not be resolved as commit?

    그다음에 자동으로 넘어가져서 그냥 무시하고 빌드하는데....
    에러가 나서 제대로 빌드가 안되는군요...버전이 올라가면서 리모트의 소스가 바뀐건가요?
    현재 버전은 QT4.5.2를 사용하고 있습니다.
    혹시 도움이 될만한 힌트라도 알수 있으면 고맙겠습니다.

    • ingee 2009.09.18 19:49 신고  댓글주소  수정/삭제

      작년 11월 이후 Qt 버전 웹킷을 만져보지 않은 데다가, git 가 제겐 무척 낯섭니다. 저는 도움 드릴게 없을 듯 합니다. 블로그 글을 보시는 다른 분들의 도움을 기대합니다. 제 주변에서 뭐라도 듣게 되면 글 올리겠습니다. 좋은 해결책 찾으시길 빕니다.

    • 홍길동 2011.01.14 13:21 신고  댓글주소  수정/삭제

      webkit 소스 받으신후 qtwebkit 를 위해 qtwebkit 업데이트 하심 됩니당.브랜치를 가져오는거죵..

크리에이티브 커먼즈 라이선스
Creative Commons License

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 ingee
TAG qt, webkit, 웹킷

댓글을 달아 주세요



티스토리 툴바