« ザウルスSL-C3200:アプリ開発環境(3):zaurus用のバイナリ作成 | トップページ | ザウルスSL-C3200:アプリ開発環境(5):PC上のシミュレタ(2) »

2008年3月17日 (月)

ザウルスSL-C3200:アプリ開発環境(4):PC上のシミュレタ

ザウルスのアプリ開発環境は、zaurusの上で動くバイナリを作るだけでなくPC
の上でプログラムの動作が確認できるシミュレタがある。何のことは無く、ただPCの
上でバイナリをコンパイルして動かすだけだが、qtopiaを使っていることと
画面サイズが小さいこともあって、GUIのシミュレートをPCで行えるのは意味がある。
zaurus用のバイナリ作成が簡単にできたので、PC上のシミュレタも出来て当然と思ったが、実は泥沼。

まずは、
http://satoshi.web5.jp/zaurus/qt_soft.htm
の資料をもとにしてたすすめる。
はじめに、make cleanして、環境を切り替えて、例題exampleを何気なくコンパイルするとメチャメチャエラー発生。メッセージは、
undefined reference main.o QPEApplication::QPEApplication等。
あせってドキュメントを見るとSL シリーズザウルスの開発で使用するgcc は、バージョン2.95だが、これ以外のgcc は使用できないという。この環境が作られたころは、これで問題なかったと思うが、もうgccのバージョンは大幅にあがってしまっている。従って、一口に2.95にするといっても前途多難。
2つのバージョンをインストールすることはできるのか?ライブラリは潰れない?などと頭が痛くなってしまう。
gccのバージョンの調べ方だが、
gcc --version
とすればよい。これによるとvine 3.2では、gcc 3.3.2が入っている。

古いOSを使うか、専用のVMを作ってgcc2.95をインストールするか...
gcc関連のライブラリ を見ると、
/usr/bin/gccは、gcc-3.2.2にリンク
/usr/lib/gcc-lib/
/usr/lib/libgccpp.so.1

となっていて単純に2つのバージョンがリンクできるわけではないようだと悩んでいてもしょうがないので、VineLinux3.2に、gccを2.95にすることに決めた。早速、apt-getでgcc295 を入れた。案の定、/usr/lib/libgccpp.so.1が、2004のものにリンクされてしまった。戻すに、は、再度インストールする必要がありそうだ。
/usr/lib/gcc-lib/は、新たに、i386-redhat-linuxというディレクトリができていた
/usr/bin/gccは、gcc-3.2.2にリンクのままだが、gcc-2.95.2
というのが出来ている

http://blog.livedoor.jp/cpiblog00262/archives/9408914.html
にgcc-configというので切り替えているが、これはvineLinux3.2には見当たらない。

makefileを書き換えて、gcc2.95を使えるようにする
CC = /usr/i686-pc-linux-gnu/gcc-bin/2.95/gcc

これでも、link時のg++のバージョンが変わっていない!!
g++もバージョンをあげないといけないんだ。(挫折!)

|

« ザウルスSL-C3200:アプリ開発環境(3):zaurus用のバイナリ作成 | トップページ | ザウルスSL-C3200:アプリ開発環境(5):PC上のシミュレタ(2) »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« ザウルスSL-C3200:アプリ開発環境(3):zaurus用のバイナリ作成 | トップページ | ザウルスSL-C3200:アプリ開発環境(5):PC上のシミュレタ(2) »