make3.81の罠
cygwinのmakeを使ってる人なら、はまりがちな罠の一つに、make3.80とmake3.81の差がある。
他にも細かい差異はあるんだろうけど、一番困るのが、
Makefileの中に記述するパス形式に、ドライブレター指定を入れちゃいかん!
ってところ。
具体的には、
hoge.exe: hoge.o D:/lib/hoge.lib $(CC) -o $@ $<
と書けない(make3.80だと、大丈夫だった)。
かといって、
hoge.exe: hoge.o /cygdrive/d/lib/hoge.lib $(CC) -o $@ $<
と書くと、$(CC)がcygwinのパスを理解できない場合、終わる。
hoge.exe: hoge.o /cygdrive/d/lib/hoge.lib $(CC) -o $@ $(shell cygpath -m $<)
と書くしかない。めんどい。
勿論、全てを相対パスで記述できるなら問題ないのだが、難しい場合もあると思う。
そこで、弊社のプログラマがある方法を思いついた(ここまで、自分で思いついたかのように書いてきたけど、実は他人の褌w)。
“Windowsツールでもcygwinのパスでアクセスできるようにすればいいんじゃね?”
と。
で、以下の方法。
1) まず、ドライブ直下に、(Dドライブなら)D:\cygdrive\dというフォルダを掘る
2) 『コンピュータの管理』->『ディスクの管理』から『ドライブ文字とパスの変更』を選び、『追加』をクリックして、先ほど作ったフォルダにマウントしてやる
3) こんな状態になるはず
4) 試しにDOS窓(cmd.exe)からアクセスしてみる
5) cygwinのシェルからもアクセスしてみる
ちゃんと両方とも、D:\にアクセスできてるのを確認。
これで、
hoge.exe: hoge.o /cygdrive/d/lib/hoge.lib $(CC) -o $@ $<
と書いちゃってから、“うわーん、$(CC)がcygwinのパスを理解してくれないよー”と判明しても大丈夫。
当然ながら、ドライブ指定を省略しているので、同一ドライブ内のアクセスでないとダメ(と思ったけど、マウント方法を工夫すれば対応できるね)。
いちいち設定しないといけないのが面倒だけど、こういう方法もあるって事で……。
IN THIS SPACE ODYSSEY, YOU’RE THE STAR!
北米、欧州に続いて日本版です。
前作の不満点を解消する方向で伸ばした子なので、是非お試しをー。
ALL YOUR STAR ARE BELONG TO US!
同僚が亡くなった
普段なら、誰よりも早く出社している“彼”が、未だ出社せず。
『あれ?今日は遅いなー。体調でも崩したか?』と思っていたら、親御さんから電話があり、昨夜遅くに亡くなったとのこと。
あまりに唐突すぎて、向こうが何を言ってるのか、こちらが何を聞いてるのか、わからない状態になる。
それでもなんとか気を取り直して、葬儀の日取り等を聞き取る。
職種、グラフィックデザイナ。キャリアも長く、いわゆる職人で、特にドットに強かった。
心も体も大きい人だった。
表に名前が大々的に出るような人ではなかったけど、間違いなく昭和からのゲーム業界を支えてたのは“彼”のような人達だ。
現世代に於いても、クォリティと容量のバランスをしっかり見極めることの出来た人だった。
本当に安心して仕事を任せることが出来る人だった。
“彼”と一緒に作ることの出来た『ORBITAL(GBA)』『ORBIENT(Wii)』は、胸を張って、いい仕事したと言える。
元々心臓に疾患があるのは聞いていて、カップラーメン好きな“彼”が、毎日コンビニでカップラーメンを買ってきては食べてるのを見て、『そんなんばっかり食べてちゃダメッスよ~』とか茶化していた。
酒を飲めば、テンションが急上昇し、うちらにダメ出しをし、『いやいやいや』が口癖のような人だった。
と、まあ、こんなんでも書いて吐き出さない限り、“彼”の死を受け入れられそうにないのだ。
そんなに人の死が珍しい歳でもないけど、急なものは急だし、嫌なものは嫌なのだ。
続・ゲームにおけるスクリプト言語の現状
IGDA日本ゲームテクノロジー研究会(SIG-GT)第13回研究会「続・ゲームにおけるスクリプト言語の現状」
行ってきました。
前回は、個人口座に振込という、まあ、そこそこ名が売れてるとは言え、一抹の不安を残しかねない集金方法だったのが、今回はなんとe+。
こりゃ一安心……と思いきや、手数料でゴタゴタがあったっぽい。
まあ、それはさておき、前回は、“全組み込みスクリプト入場ッ!!”みたいな感じで、色々なスクリプトを紹介する色合いが強かったのだが、今回は、実際に組み込んだ人の話がメインだった(ATEL@旧スクウェア、サクラスクリプト@セガ、Squirrel@スクウェア・エニックス)。
まあ、でも、一番面白かったのは、xtalかな(色んな意味で)。
bisonをC++で使う際に
%union内に基底クラスを書いておき、非終端演算子でその派生クラスをコピーしようとすると警告が出る。
%{
class Base {};
class Derived : public Base {};
%}
%union {
Base* base;
Derived* derived;
}
%type <base> hoge
%type <derived> hage
%%
hoge : hage
// アクションを省略してあるので、hoge = hage; なコードが自動生成される
;
放置しても問題はないんだけど、ウザイので、ちゃんと手で書いてやると、警告が消える。
hoge : hage
{
$$ = $1;
}
;
そんだけ。





