[ 新規 | 編集 | 差分 ] [ 検索 | 一覧 | FrontPage ] [ 履歴 (RSS) | 差分履歴 (RSS) ] [ ログイン ]
【PR】Amazon | SL-C3000 | SL-C1000(3/18発売!) | SL-C860 | SL-6000W | SL-6000L | SL-6000N

開発TIPS/moc,uicのクロスコンパイル

編集

Qtアプリのセルフコンパイルの為に
ずいぶん前に作って使ってた気がするのですが、需要がありそうなのでまとめ。

moc のクロスコンパイル

編集

moc.pro の書き換え

編集

moc.pro を下記のように書き換えます。

*** moc.pro	2001-03-31 01:09:40.000000000 +0900
--- moc-e.pro	2004-02-12 13:17:15.000000000 +0900
***************
*** 8,34 ****
  DEPENDPATH	= ../../include ../tools .
  OBJECTS_DIR	= .
  MOCGEN		= mocgen.cpp
! SOURCES		= $$MOCGEN		    \
! 		  ../tools/qbuffer.cpp	    \
! 		  ../tools/qcollection.cpp  \
! 		  ../tools/qcstring.cpp	    \
! 		  ../tools/qdatastream.cpp  \
! 		  ../tools/qdatetime.cpp    \
! 		  ../tools/qfile.cpp	    \
! 		  ../tools/qgarray.cpp	    \
! 		  ../tools/qgdict.cpp	    \
! 		  ../tools/qglist.cpp	    \
! 		  ../tools/qglobal.cpp	    \
! 		  ../tools/qgvector.cpp	    \
! 		  ../tools/qiodevice.cpp    \
! 		  ../tools/qregexp.cpp	    \
! 		  ../tools/qstring.cpp	    \
! 		  ../tools/qtextcodec.cpp   \
! 		  ../tools/qtextstream.cpp  \
! 		  ../tools/qutfcodec.cpp
! 
! unix:SOURCES	+= ../tools/qfile_unix.cpp
! 
! win32:SOURCES	+= ../tools/qfile_win.cpp
! 
  TARGET		= moc
--- 8,13 ----
  DEPENDPATH	= ../../include ../tools .
  OBJECTS_DIR	= .
  MOCGEN		= mocgen.cpp
! SOURCES		= $$MOCGEN
  TARGET		= moc
+ LIBS += -L$(QTDIR)/lib -lqte

コンパイル手順

編集

uicのクロスコンパイル

編集

下記の手順を自動的に行うシェルスクリプトを書いてみました。
uicのソースディレクトリにこのスクリプトを置いて実行するとuicのバイナリが出来ます。

追加で必要なファイルの用意

編集

下記の2ファイルをカレントディレクトリにコピーしておきます。

qconfig.h の書き換え

編集

カレントディレクトリにコピーした qconfig.h の中の

#define QT_NO_DOM

という記述をコメントアウトし、DOMを有効にします。

//#define QT_NO_DOM

uic.pro の書き換え

編集

uic.pro を下記のように書き換えます。

*** uic.pro	2001-06-12 20:31:44.000000000 +0900
--- uic-e.pro	2004-02-12 13:11:32.000000000 +0900
***************
*** 1,10 ****
  TEMPLATE	= app
  CONFIG		+= qt console warn_on release
  HEADERS		= uic.h ../shared/widgetdatabase.h ../shared/domtool.h ../integration/kdevelop/kdewidgets.h
! SOURCES		= uic.cpp ../shared/widgetdatabase.cpp ../shared/domtool.cpp ../integration/kdevelop/kdewidgets.cpp
  TARGET		= uic
! INCLUDEPATH	= ../shared ../util ../../../src/3rdparty/zlib/
! unix:LIBS	+= -L$(QTDIR)/lib -lqutil -L../lib
  win32:LIBS	+= $(QTDIR)/lib/qutil.lib
  DEFINES 	+= UIC
! DESTDIR		= $(QTDIR)/bin
--- 1,10 ----
  TEMPLATE	= app
  CONFIG		+= qt console warn_on release
  HEADERS		= uic.h ../shared/widgetdatabase.h ../shared/domtool.h ../integration/kdevelop/kdewidgets.h
! SOURCES		= uic.cpp ../shared/widgetdatabase.cpp ../shared/domtool.cpp ../integration/kdevelop/kdewidgets.cpp qdom.cpp
  TARGET		= uic
! INCLUDEPATH	= ./ ../shared ../util ../../../src/3rdparty/zlib/
! unix:LIBS	+= -L$(QTDIR)/lib -L../lib
  win32:LIBS	+= $(QTDIR)/lib/qutil.lib
  DEFINES 	+= UIC
! #DESTDIR		= $(QTDIR)/bin

コンパイル手順

編集

コメント

編集

コメント等はこちらにどうぞ。


03655