ラベル qtsdk の投稿を表示しています。 すべての投稿を表示
ラベル qtsdk の投稿を表示しています。 すべての投稿を表示

2012年9月5日水曜日

C言語でIPhoneプログラム

Qt でIPhoneプログラムができるらしい。
QtでAndroidプログラムはもう紹介したからこれでほぼすべての環境をQtでプログラムできる事になる。
ただ、らしい。と書くのはまだ確認してないの意味。
また、そのQtはMacのQtらしい。なのでUbuntuは今回お休み

詳細はこれ
http://labs.qt.nokia.co.jp/2011/08/17/update-on-uikit-lighthouse-platform.html
XcodeでIphoneプログラムはやったことあるが,Objective-CでちょっとやになったのでC言語でできるのなら大歓迎なのです
Xcodeの入っているMacはちょっと会社にあるのでそれでやってみようかなーと思う。(当然休日にね)

上記記事をまとめると
環境として
①Mac OS X
②Xcode
③Qt ただしhttps://qt.gitorious.org/qt/qt/commits/4.8 ここからダウンロード
が必要
とりあえず①②はすでに満たされたからあと③だけだけどこれはダウンロードして
src/plugins/platforms/uikitにあるREADMEをよめってことらしい。
結論からいうと③を/Users/me/Qt/qt-srcに展開して以下のコマンドを実行
mkdir /Users/me/Qt/qt-lighthouse-ios-simulator
cd /Users/me/Qt/qt-lighthouse-ios-simulator
../qt-src/configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
make
cd src/plugins/platforms/uikit
make
で同じようにqt-lighthouse-ios-deviceに対してもする
ビルドエラーの場合はmkspecs/qpa/macx-iphonesimulator-g++/qmake.conf と mkspecs/qpa/macx-iphonedevice-g++/qmake.conf の QMAKE_IOS_SDK 変数を使っているSDKのバージョンに合わせて調整
終わったらXcodeでqt-src/src/plugins/platforms/uikit/examplesのサンプルが開ける
そして開くと画面上のツールバーでターゲットが “<example> simulator” でプラットフォームが “iPhone 4.3 Simulator” が選択されている。
でRunできる。
ということです。今度の休みにやってみます。


2012年8月19日日曜日

C言語でandroidアプリを作った

最近C言語でAndroidアプリを作ったのでその顛末を記しておく

本当はgoogle nenusにandroid OSごとカーネルドライバをつけて再コンパイルしてインストールしなおしてそれを使うアプリをCで作ったっていうことなんだけど(しかも仕事中に)、一気に書くと爆発しそうなのでまずそのCでアプリを作る方法を書いておきたい。

普通android appはandroid sdkを用いてJavaで開発するのだけど、これだとandroid アプリの下の層のLinuxのドライバー部分にアクセスしてUSBシリアル通信したいとき、つまり/dev/ttyUSBをコントロールしたい時難しいことになる。というかできないと思う。(私が知らないだけならすみません)

そこでC言語でAndroid appが書ければということになるがそれがわりと簡単にできた。
情報元はこれ
necessitas
http://sourceforge.net/p/necessitas/home/necessitas/

このnecessitasインストールするとわかるけどandroid sdkが付いたQtです。(またQtかよ)

つまり今までQtで書いたコードがあればそれをそのまま一行もコードを書かずにandroid にインストールできます。


私の場合Ubuntuがあるのでそれで作ったQtのソフトがそのままインストールできました。

とはいってもフォントとか画面サイズとかUI関係の修正はする必要があります。

やり方
http://sourceforge.net/projects/necessitas/files/
からインストーラーをダウンロード
私の場合Ubuntuなので
necessitas-0.3-online-sdk-installer-linux
を入れました。他にもWindowsとMac向けがあるようですが使えるかは不明。

あとはそのまま実行すればインストールできます。

でnecessitasを起動するとQtCreatorとクリソツなのでいつもの感覚でコーディング

これ以降の詳細は
http://nop.net-p.org/2011/02/25/qt-for-android/
 こことか読んでください。

実行時deployの設定でministroを指定すること
雑誌の紹介記事みたくなってしまった。

2012年8月14日火曜日

ubuntu 12.04 64bitでWin32をクロスコンパイル5

ubuntu 12.04 64bitでWin32をクロスコンパイル4 のつづき

で表題改 ubuntu 12.04 64bitでWin64をクロスコンパイル

多分最終章

Ubuntuの上でqtをwin64クロスコンパイルする環境はすべて整った。
とりあえず4でつくった64bitのQtを/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/にmvします。
つまり
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/include
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/lib
のところにそれぞれのファイルがコピーされます

そしてmkspecを64bit用に作成
cd /usr/share/qt4/mkspecs/
sudo cp -rf win32-x-g++ win64-x-g++
cd win64-x-g++
sudo  vi qmake.conf

編集内容は以下の通り
#
# qmake configuration for win32-g++
#
# Written for MinGW
#

MAKEFILE_GENERATOR    = MINGW
TEMPLATE        = app
CONFIG            += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
QT            += core gui
DEFINES            += UNICODE QT_LARGEFILE_SUPPORT
QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32

QMAKE_EXT_OBJ           = .o
QMAKE_EXT_RES           = _res.o

QMAKE_CC        = x86_64-w64-mingw32-gcc 
QMAKE_LEX        = flex
QMAKE_LEXFLAGS        =
QMAKE_YACC        = byacc
QMAKE_YACCFLAGS        = -d
QMAKE_CFLAGS        =
QMAKE_CFLAGS_DEPS    = -M
QMAKE_CFLAGS_WARN_ON    = -Wall
QMAKE_CFLAGS_WARN_OFF    = -w
QMAKE_CFLAGS_RELEASE    = -O2
QMAKE_CFLAGS_DEBUG    = -g
QMAKE_CFLAGS_YACC    = -Wno-unused -Wno-parentheses

QMAKE_CXX        = x86_64-w64-mingw32-g++
QMAKE_CXXFLAGS        = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS    = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON    = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF    = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE    = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC    = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD    = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_RTTI_ON    = -frtti
QMAKE_CXXFLAGS_RTTI_OFF    = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions

QMAKE_INCDIR        = /usr/x86_64-w64-mingw32/include
QMAKE_INCDIR_QT        = /home/kokawa2003/.wine/drive_c/Qt64/4.8.1/include
QMAKE_LIBDIR_QT        = /home/kokawa2003/.wine/drive_c/Qt64/4.8.1/lib

QMAKE_RUN_CC        = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CC_IMP    = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX        = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP    = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

QMAKE_LINK        = x86_64-w64-mingw32-g++  
QMAKE_LINK_C        = x86_64-w64-mingw32-gcc 
QMAKE_LFLAGS        = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
QMAKE_LFLAGS_EXCEPTIONS_OFF =
QMAKE_LFLAGS_RELEASE    = -Wl,-s
QMAKE_LFLAGS_DEBUG    =
QMAKE_LFLAGS_CONSOLE    = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS    = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL        = -shared
QMAKE_LINK_OBJECT_MAX    = 10
QMAKE_LINK_OBJECT_SCRIPT= object_script
QMAKE_PREFIX_STATICLIB  = lib
QMAKE_EXTENSION_STATICLIB = a


QMAKE_LIBS        =
QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
QMAKE_LIBS_NETWORK      = -lws2_32
QMAKE_LIBS_OPENGL       = -lglu32 -lopengl32 -lgdi32 -luser32
QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain

!isEmpty(QMAKE_SH) {
    MINGW_IN_SHELL      = 1
    QMAKE_DIR_SEP        = /
    QMAKE_QMAKE        ~= s,\\\\,/,
    QMAKE_COPY        = cp
        QMAKE_STREAM_EDITOR     = sed
    QMAKE_COPY_DIR        = cp -r
    QMAKE_MOVE        = mv
    QMAKE_DEL_FILE        = rm
    QMAKE_MKDIR        = mkdir -p
    QMAKE_DEL_DIR        = rmdir
    QMAKE_CHK_DIR_EXISTS = test -d
} else {
    QMAKE_COPY        = copy /y
    QMAKE_COPY_DIR        = xcopy /s /q /y /i
    QMAKE_MOVE        = move
    QMAKE_DEL_FILE        = del
    QMAKE_MKDIR        = mkdir
    QMAKE_DEL_DIR        = rmdir
    QMAKE_CHK_DIR_EXISTS    = if not exist
}

QMAKE_MOC        = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc
QMAKE_UIC        = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic
QMAKE_IDC        = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc

QMAKE_IDL        = midl
QMAKE_LIB        = x86_64-w64-mingw32-ar  -ru
QMAKE_RC        = x86_64-w64-mingw32-windres
QMAKE_ZIP        = zip -r -9

QMAKE_STRIP        = x86_64-w64-mingw32-strip
QMAKE_STRIPFLAGS_LIB     += --strip-unneeded
load(qt_config)


ここまででで環境構築終了
Qtのプロジェクトをtestqtとするとき
qmake -spec win64-x-g++ testqt.pro
make 
で64bit のEXEができます。
file testqt.exe
で64bitを確認してください。


実行には
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin/QtCore4.dll .
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin/QtDeclarative4.dll .
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin/QtGui4.dll .
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin/QtNetwork4.dll .
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin/QtScript4.dll .
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin/QtSql4.dll .
/home/kokawa2003/.wine/drive_c/Qt64/4.8.1/bin/QtXmlPatterns4.dll .
/usr/lib/gcc/x86_64-w64-mingw32/4.6/libgcc_s_sjlj-1.dll .
/usr/lib/gcc/x86_64-w64-mingw32/4.6/libstdc++-6.dll .
が私の場合は必要でした。(すべて64bitで揃える)  

上のdllをexeのローカルにコピーのあと
wine testqt.exe
で見事64bitのexeが起動します。

2012年8月13日月曜日

ubuntu 12.04 64bitでWin32をクロスコンパイル4

ubuntu 12.04 64bitでWin32をクロスコンパイル3 のつづき


そこでつぎに Qtのmingw 64bit版を用意することにした。

http://www.robwork.dk/jrobwork/index.php?option=com_content&view=article&id=71:installation-of-qt&catid=44:installation&Itemid=67&limitstart=2

基本的にはこのサイトのとおりにすればできた。
LINUXでクロスコンパイルしてみてもいいけど面倒なのでWindows7 64bit で行った。

まずmingw-w64を sourceforgeからダウンロードする。
http://sourceforge.net/projects/mingw-w64/files/
一番上のダウンロードを選ぶとソースが落ちてくるがgccのソースビルドなんてやってられないのでバイナリを直接ダウンロード
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/sezero_4.5_20111101/mingw-w64-bin_x86_64-mingw_20111101_sezero.zip/download
これを解凍して /mingw64/bin にパスを通す。

次にPerlを用意。これはAcitivePerlがいいらしいのでこれをインストール
http://www.activestate.com/activeperl/downloads/thank-you?dl=http://downloads.activestate.com/ActivePerl/releases/5.14.2.1402/ActivePerl-5.14.2.1402-MSWin32-x64-295342.msi
デフォルトでインストールするとパスが通ると思います。

で環境が整ったので次にQtのソース

まずhttp://qt.nokia.com/downloads から
http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.2.tar.gz をダウンロードして展開

でコマンドラインを起動して展開した場所に移動し
 configure -opensource -no-sql-sqlite -no-qt3support -no-webkit -no-scripttools -fast -platform win32-g++
を実行。

成功すると次に
mingw32-make
をするようにいわれるのでいわれるとおりに実行

うまく行けば完了して*.dll、*.exe、*.aができます。
Qtのプロジェクトをコンパイルすればできるはずです。QtCreatorとかないのがあれですが

これをそのまま圧縮してubuntuに持ってきます。
解凍後qt-everywhere-opensource-src-4.8.1/bin で
 cp /usr/lib/gcc/x86_64-w64-mingw32/4.6/libgcc_s_sjlj-1.dll .
 cp /usr/lib/gcc/x86_64-w64-mingw32/4.6/libstdc++-6.dll  .
で2ファイル補うと
qtdemo.exe がwine 64bit で動きます。と行ってもプロジェクトがないので起動するだけですが。
とりあえず64bitのビルドが成功したのがわかります。



これと同じ事をmkspecをいじればUbuntuでもできるとおもうが、そこまでこだわる気力がない。



ubuntu 12.04 64bitでWin32をクロスコンパイル3

ubuntu 12.04 64bitでWin32をクロスコンパイル2 のつづき


これでmkspecができたのでWindows用のQtコンパイルができます
たとえばtestqtでやる場合は

qmake -spec win32-x-g++ testqt.pro
make clean
make

でバッチリいけるはずです。
Qtcreatorでも ビルド設定を-spec win32-x-g++とすればビルドできると思います(これは未確認)
あと当然Debugはできません。


なお実行するときはDLLが必要です。
私のばあい
/usr/lib/gcc/i686-w64-mingw32/4.6/libgcc_s_sjlj-1.dll
/usr/lib/gcc/i686-w64-mingw32/4.6/libstdc++-6.dll 
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/libgcc_s_dw2-1.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/mingwm10.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/QtCore4.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/QtDeclarative4.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/QtGui4.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/QtNetwork4.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/QtScript4.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/QtSql4.dll
/home/kokawa2003/.wine/drive_c/Qt/4.8.0/bin/QtXmlPatterns4.dll

をEXEのあるところにコピーする必要がありました。


実行はWineでもWINDOWSでもどちらもうまくいきます。


ubuntu 12.04 64bitでWin32をクロスコンパイル2

ubuntu 12.04 64bitでWin32をクロスコンパイル1 のつづき


次にUbuntuのQtでWin32をクロスコンパイルしてみる。

まずQtCreatorで適当なサンプルプロジェクトを作ってみる。(当然Linuxむけ)
ここではtestqt とする。実行できるのを確認。

Qtの知識がない人は諦めるか勉強してください。

次にWindows用のQtをインストールします
$ wine qt-win-opensource-4.8.0-mingw.exe
これでWindows用のQtが私の場合
/home/kokawa2003/.wine/drive_c/Qt/
にインストールされます。
なお途中で出る警告のたぐい(mingwがないとか)は全て無視で。


次にmkspecを変更します
sudo cp -Rf /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

で環境をコピーした後
sudo vi /usr/share/qt4/mkspecs/win32-x-g++/qmake.conf
で編集(別にviは好きなエディタに変更してください)赤字が変更部分

#
# qmake configuration for win32-g++
#
# Written for MinGW
#

MAKEFILE_GENERATOR      = MINGW
TEMPLATE                = app
CONFIG                  += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
QT                      += core gui
DEFINES                 += UNICODE QT_LARGEFILE_SUPPORT
QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32

QMAKE_EXT_OBJ           = .o
QMAKE_EXT_RES           = _res.o

QMAKE_CC                = i686-w64-mingw32-gcc
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = byacc
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            =
QMAKE_CFLAGS_DEPS       = -M
QMAKE_CFLAGS_WARN_ON    = -Wall
QMAKE_CFLAGS_WARN_OFF   = -w
QMAKE_CFLAGS_RELEASE    = -O2
QMAKE_CFLAGS_DEBUG      = -g
QMAKE_CFLAGS_YACC       = -Wno-unused -Wno-parentheses

QMAKE_CXX               = i686-w64-mingw32-g++
QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS     = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_RTTI_ON  = -frtti
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions

QMAKE_INCDIR            = /usr/i686-w64-mingw32/include
QMAKE_INCDIR_QT         = /home/kokawa2003/.wine/drive_c/Qt/4.8.0/include
QMAKE_LIBDIR_QT         = /home/kokawa2003/.wine/drive_c/Qt/4.8.0/lib

QMAKE_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX           = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

QMAKE_LINK              = i686-w64-mingw32-g++
QMAKE_LINK_C            = i686-w64-mingw32-gcc
QMAKE_LFLAGS            = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
QMAKE_LFLAGS_EXCEPTIONS_OFF =
QMAKE_LFLAGS_RELEASE    = -Wl,-s
QMAKE_LFLAGS_DEBUG      =
QMAKE_LFLAGS_CONSOLE    = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS    = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL        = -shared
QMAKE_LINK_OBJECT_MAX   = 10
QMAKE_LINK_OBJECT_SCRIPT= object_script
QMAKE_PREFIX_STATICLIB  = lib
QMAKE_EXTENSION_STATICLIB = a


QMAKE_LIBS              =
QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
QMAKE_LIBS_NETWORK      = -lws2_32
QMAKE_LIBS_OPENGL       = -lglu32 -lopengl32 -lgdi32 -luser32
QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain

!isEmpty(QMAKE_SH) {
    MINGW_IN_SHELL      = 1
        QMAKE_DIR_SEP           = /
        QMAKE_QMAKE             ~= s,\\\\,/,
        QMAKE_COPY              = cp
        QMAKE_STREAM_EDITOR     = sed
        QMAKE_COPY_DIR          = cp -r
        QMAKE_MOVE              = mv
        QMAKE_DEL_FILE          = rm
        QMAKE_MKDIR             = mkdir -p
        QMAKE_DEL_DIR           = rmdir
    QMAKE_CHK_DIR_EXISTS = test -d
} else {
        QMAKE_COPY              = copy /y
        QMAKE_COPY_DIR          = xcopy /s /q /y /i
        QMAKE_MOVE              = move
        QMAKE_DEL_FILE          = del
        QMAKE_MKDIR             = mkdir
        QMAKE_DEL_DIR           = rmdir
    QMAKE_CHK_DIR_EXISTS        = if not exist
}

QMAKE_MOC               = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc
QMAKE_UIC               = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic
QMAKE_IDC               = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc

QMAKE_IDL               = midl
QMAKE_LIB               = i686-w64-mingw32-ar  -ru
QMAKE_RC                = i686-w64-mingw32-windres
QMAKE_ZIP               = zip -r -9

QMAKE_STRIP             = i686-w64-mingw32-strip
QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
load(qt_config)

これでビルドできるような環境ができた。
 本当はQMAKE_INCDIR_QTはユーザーのホームでなく/usr/であるべきだが直さなかった。