初めてmakeした話
ls と pyonpyon を間違えた時にチノちゃんがコーヒーをいれてくれるコマンドも作ってます。よろしくお願いします。
https://t.co/Ua6bDr8HIJ pic.twitter.com/poHmbrT1S4
— すぎやまたいち (@sgymtic) 2015, 12月 11
チノちゃんがコーヒー淹れてくれるらしい。導入してみたい。
でも、業界7年Java
一筋、make
どころかgcc
コマンドを叩いたことがないので何やっていいかわからない。
とりあえずgit clone
して、readme
を読む。
$ git clone -b pyonpyon https://github.com/sgymtic/sl.git
適当にmakeして適当にパスの通った場所へぶち込んでください。
なるほど。
$ make bash: make : コマンドが見つかりません
ふむ。
$ pacman -S make (略) $ pacman -S gcc (略) $ make gcc -O -o pyonpyon sl.c -lncurses sl.c:41:20: 致命的エラー: curses.h: No such file or directory #include <curses.h> ^ コンパイルを停止しました。 Makefile:13: ターゲット 'sl' のレシピで失敗しました make: *** [sl] エラー 1
どうやら、curses.h
が見えないっぽい。
確かに/usr/include/
にそれっぽいのがいないので、追加で入れる。
$ pacman -S ncurses-devel ncurses
(略)
ちなみにDebian系だとこんなパッケージぽい。
$ apt-get install libncurses5-dev
(略)
で再挑戦。
$ make gcc -O -o pyonpyon sl.c -lncurses sl.c:41:20: 致命的エラー: curses.h: No such file or directory #include <curses.h> ^ コンパイルを停止しました。 Makefile:13: ターゲット 'sl' のレシピで失敗しました make: *** [sl] エラー 1
えぇ・・・(困惑)
下記によれば、どうやら参照できてないっぽい。
curses.hが/usr/include/ncursesの中に入っているせいで、sl.cからの参照がうまくいってないらしい。
ので、-Iオプションをつけた。
-Iを付けてディレクトリを指定する。
$ make gcc -O -I/usr/include/ncurses -o pyonpyon sl.c -lncurses $ ls LICENSE Makefile pyonpyon.exe README.md sl.c sl.h
お、できてる。
……exeでいいんだっけ?
$ cp pyonpyon.exe /usr/bin $ pyonpyon
(@@)))()@ O @ O @ ( ) (@@@@) ( ) (@@@) A___A_ / . . \ | " ~ " | _\______/_ / \ / \/ \/\ | /\/v\/v/\| l ( | O OQ|| | \\ " _ (|==) | ||\_o---(~-~) \~l~| : VvV ------------------------------------------------[ ]-------------------------------------
動いてるっぽいからいいか!