ページ

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

2009-06-02

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のパスを理解してくれないよー”と判明しても大丈夫。

 

当然ながら、ドライブ指定を省略しているので、同一ドライブ内のアクセスでないとダメ(と思ったけど、マウント方法を工夫すれば対応できるね)。

いちいち設定しないといけないのが面倒だけど、こういう方法もあるって事で……。

2009-04-21

続・ゲームにおけるスクリプト言語の現状

IGDA日本ゲームテクノロジー研究会(SIG-GT)第13回研究会「続・ゲームにおけるスクリプト言語の現状」

行ってきました。

前回は、個人口座に振込という、まあ、そこそこ名が売れてるとは言え、一抹の不安を残しかねない集金方法だったのが、今回はなんとe+

こりゃ一安心……と思いきや、手数料でゴタゴタがあったっぽい。

 

まあ、それはさておき、前回は、“全組み込みスクリプト入場ッ!!”みたいな感じで、色々なスクリプトを紹介する色合いが強かったのだが、今回は、実際に組み込んだ人の話がメインだった(ATEL@旧スクウェア、サクラスクリプト@セガ、Squirrel@スクウェア・エニックス)。

まあ、でも、一番面白かったのは、xtalかな(色んな意味で)。