読者です 読者をやめる 読者になる 読者になる

UbuntuでObjective-Cをコンパイルする

Objective-Cを勉強しているんですが、とりあえず気楽に持ち運べるEeePCの環境でCUIの開発が出来ればいいなと思いLinux環境で開発ができるようにしてみました。
いや、だってMacBook重たいんですもん。。あと、キーボードがめちゃくちゃ熱くなるからHHKを接続していないと入力する気になれないし。。

まぁそれはおいといて。色々調べた結果以下のライブラリ群をインストールすればコンパイルが可能になりました。

sudo apt-get install build-essential
sudo apt-get install gobjc
sudo apt-get install libgnustep-base-dev
sudo apt-get install gnustep
sudo apt-get install gnustep-devel


コンパイル方法は次のようになります。

gcc SOURCE_NAME.m -lobjc -lgnuste-base -I/usr/include/GNUstep -fconstant-string-class=NSConstantString

今私は詳解Objective-C 2.0を使って勉強しているんですが、Linuxコンパイルする場合はコンパイルのためのコマンドが変わってくる事に注意が必要です。
例えば詳解Objective-C 2.0の場合は以下のような感じです。オプションがだいぶ少なくていいですね。。

cc SOURCE_NAME.m -framework Foundation

んで、いちいちオプションを打ち込むのも面倒くさかったので、gocという名前でシェルスクリプトを作成しました。
これを/usr/local/binにシンボリックリンクで置いてやる事によって、gccのような感じでコンパイルする事が可能になりました。
複数ファイルの読み込みには対応していないのであしからず。。)

# --------------------------------- #
# goc.sh                            #
# --------------------------------- #
#!/bin/sh
gcc $1 -lobjc -lgnustep-base -I/usr/include/GNUstep -fconstant-string-class=NSConstantString