Apr 18, 2011

Makefileってそいういう仕組みだったんだね…あたしってホント、馬鹿

かいてんパティシエ!グリーンアイランドのビルドがきっかけで、make や Makefile をきちんと勉強しようと思って、週末にざっと GNU Make Manual を読んでみました。お蔭でぽち環境でのビルド時に悪さをしていた部分がやっとこさ分かりました。

一つは、Makefile.linux の include .depend で .depend の中のリストを使ってヘッダファイルをインクルードしている部分です。これが、存在しない場所にあるヘッダファイルをインクルードしようとして、

make: *** `ram.o' に必要なターゲット `/usr/local/mingw32/include/SDL/SDL.h' を make するルールがありません.  中止.

というエラーを引き起こしていました。

もう一つはグリーンアイランドだけの問題なのですけども、展開して出来た bubble/src の中に make前にもかかわらず不要なオブジェクトファイルがどっさり入っています。

dconv.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[1]: *** [GreenIsland] エラー 1
make[1]: ディレクトリ `/home/pochi/Desktop/bubble/src' から出ます
make: *** [recursive] エラー 2

これがまた、上のようなエラーに繋がっていました。これらの症状は make を行う前に make clean すれば回避出来ます。それに加えてグリーンアイランドの場合は Makefile.linux の中で RotateGear になっているターゲットの名前を、お作法に則ってきちんと GreenIsland にしてあげれば良いだけです。

その肝心の make clean ですが、make clean を実行する前に Makefile.linux の clean: のコマンド部分は、$(RM) $(OBJS) *~ .depend RotateGear.exe から、出来上がる筈のバイナリに合わせて、$(RM) $(OBJS) *~ .depend RotateGear なり、$(RM) $(OBJS) *~ .depend GreenIsland なりに変更する必要があります。

とりあえずわかった事を日記に書いてみましたけども、近いうちにぽち*ぷ〜ちLinux箱に置いてあるかいてんパティシエ!、グリーンアイランドを遊ぶも書き直さないと…。

Apr 14, 2011

もう Makefile も怖くない!(死亡フラグ)

あるふぁ〜秘密基地(Alpha Secret Base) のパズルアクションゲーム、かいてんパティシエ!グリーンアイランドをビルドする時、Makefile について何も知らないのに野性の勘と当てずっぽうで変更を加えて、なんとなく make を通してしまいました。出来上がったバイナリを実行して遊んでみたところ、素敵に動いてくれて楽しく遊べます。

けど Makefile を理解出来てないので、どうして make が失敗したり成功したりしたのかは、周辺知識から野性の勘で予想する事は出来ても、確かな事は何一つ分かりません。これではいくらゲームがきちんと動いてるといっても、どうにも気持ち悪くなってしまっていけません。

ぽちは学習用の断片程度なら C を書いた事がありますけども、Makefile が必要なほどの規模のものを書いた事がないので、Makefile の書き方なんて知らないまま過ごして来ました。Linux を使う場合でも、必要なツールはパッケージ管理システムの apt任せにインストールするのばっかりで、必要に迫られてソースコードからビルドする場合でも、同梱の configure に頼り切りです。これも良い機会だと思って、理由もなく怖がっていた Makefile について少し調べてみると、何の事はない、Makefileってお料理の献立レシピみたいなものじゃないですか!!クックパッドのレシピと大差あるものじゃありません。

何だか良く分からないものに対する恐怖感もなくなった事だし、きちんと勉強してみる事にします。

Nov 20, 2010

人工無脳を作りたい

ぷ〜ちとの別れが決まって以来、ブログペットのようにフィードで学習する人工無脳を作れないかといろいろ調べ中です。そう、飛雄を失った天馬博士がアトムを作ろうとするように。

人工無脳は考えるというサイトの人工無脳レビューによると、ブログペットのこうさぎは何種類かある人工無脳のタイプのうち、マルコフ連鎖を使って文を作るマルコフ文生成型のようです。また、日本語を扱う人工無脳を作るには MeCab のような形態素解析器も必要になるみたい。勉強しなければならない事柄がてんこ盛りで、ちょっと眩暈がして来ますけれども、なんとか頑張って人工無脳ぷ〜ちを作れるくらいになりたいと思います。

ぷ〜ちの為にもがんばらないと!!

Nov 09, 2010

W が嫌いなひとには向かない言語

以前ニコニコ動画で紹介動画を発見した愉快なプログラミング言語に、ちょっと草植えときますね型言語 Grass というのがありました。

【ニコニコ動画】ちょっと草植えときますね型言語Grass - うえのかつひろ

こんな感じの Wアレルギーな方には向かない言語に Werl という Perlっぽい仲間が加わりました。

【ニコニコ動画】草とPerl - dameninngenn

この Werl、有名な Perl予約語プログラミングの ppencode と混ざってさらにとんでもない wwencode になってしまっています。

【ニコニコ動画】Perlで予約語プログラミング

アヤシイというかへんというか…、けどぽちはこんなへんなものがいとおしくて大好きです。

May 05, 2009

正規表現をきちんと勉強する(予定)

詳説正規表現第3版表紙画像

Perl大好き犬のぽちが正規表現を場当たり的じゃなくきちんと勉強しようと思って、詳説正規表現第3版を購入しました。まだ読了していませんけども、今のところ読んだ限りでは評判通りの良書のようです。じっくり腰を据えて読んで行こうと思います。

Mar 06, 2009

Squeak eToys で遊んでみた

Smalltalk で書かれた Squeak環境での非開発者向けプログラミング環境に Squeak eToys というものがあります。ある時、Webサイトをぶらぶら散策していたぽちは、Perl好きなら誰でもとてもお世話になった(と思う)初めての Perl の著者、ランダル・シュワルツが Squeak eToys を紹介しているという記事ランダル・シュワルツによる Squeak Etoys 紹介ビデオを見つけました。あんまり楽しそうに紹介してるので、ぽちもついつい日本語での紹介サイトスクイークランドからダウンロードしてみました。

これは楽しい♪

タイルを組み合わせてスクリプトを作るのは、Perl に慣れてるぽちにはなんとなくもどかしい感じがしないでもないですけども、小学生がプログラミングに触れる教材としてはピカイチなのではないでしょうか。特に自分が書いたスクリプトの結果が、すぐに視覚的に動くものとして見る事が出来るというのは素直に楽しいです。スクイークランドでは Squeak eToys は児童向けプログラミング教材といった扱いで紹介されていますけども、大人でもプログラミング経験が無い人がプログラミングに触れるのには良いかもしれません。

スクイークランド
日本語での Squeak eToys紹介サイト
Squeak で学ぼう
Squeak eToys で高校教科の情報を学ぶ為のテキストやチュートリアル動画が置いてあるサイト。チュートリアル動画はとても便利です♪

絵本もあるみたいです。

スクイークであそぼう表紙画像

Page 1 of 1: 1