セルフ開発環境(zgcc34)
ブログを巡っていたら橘さんの幾霜でzgcc34なるセルフ開発環境があるのを発見、試してみる。
- http://www.ikushimo.com/files/Zaurus/zgcc34/から、cramfs.img, env.sh,mount.sh, umount.shをダウンロード、cramfsがやたらとデカイです。デフォルトでCFに環境を構築するようになっていたのでダウンロードしたファイルは全てCFへ
- マウントポイント、作業ディレクトリ、スワップファイル作成
$ su # mkdir /usr/local/zgcc34 # cd /mnt/cf # mkdir tmp # dd if=/dev/zero of=./swap.img bs=1M count=32 # mkswap ./swap.img # exit $
- env.shの2行目以下を/home/zaurus/.bashrcの最後に追加
- ターミナルを起動しなおして、マウント
$ cd /mnt/cf $ su # ./mount.sh # exit $
$ ls /usr/local/zcc34 $ gcc -v
- お約束のHello.cをコンパイル
$ cat hello.c #include <stdio.h> int main() { printf("hello world\n") } $ gcc -o hello hello.c
- ありゃエラーだ! printfって最後にセミコロン必要だったっけ?追加したらOK、実行
$ ./hello hello world $
- OK、環境をアンマウントする、~/.bashrcに追加した内容も削除
$ su # /mnt/cf/umount.sh # exit $
ちなみにコンパイルしたファイルは、環境をアンマウントした状態では実行すると、ライブラリがないよ!って怒られました(^^; ファイルがでかいのは、X/Qt用のファイルとかも入っているからみたいですね、詳しいことは判りませんけど。。。
(追記)作者さまよりコメントいただきました、-staticオプションをつけると開発がない環境でも実行できるようになります。
$ gcc -static -o hello hello.c