WinwdowsでObjective-C パート2 (NS~クラスも利用可)
当ブログの元旦の記事で、Cygwinを使ってWindows上でObjective-Cのソースをコンパイル・実行する方法を書いた。だが、この方法だとMac上でよく使う「NS~」で始まるクラス群を利用可能にする方法が見つけられなかった。
で、最近発見したのがこちら。
ほんまの走り書き技術メモ - WindowsでObjective-C
こちらの方法だと、まずCygwinがいらない。また「NS~」クラスを使ったソースもコンパイル可能。スバラシイ。
環境的な部分も補足しつつ、こちらのブログにもやり方を掲載してみる。
■前提環境
OS : Windows XP SP3
あ、XPで試したってこと。Vistaではやってない。Vistaでもいいのかも。
■必要なファイルの入手
GNUstepのサイトの、Windows版インストーラ配布ページ
ここから、
- GNUstep System 0.19.2
- GNUstep Core 0.19.2
- Calculator.app Version 1.0.0-2
- Gorm.app Version 1.2.4
- SystemPreference?.app 1.0.2-2
を、ダウンロードする。
■インストール
ダウンロードしたファイルは全てexeファイル。とりあえず上記の順番に実行して、普通にインストールした。
インストール先は「c:\usr\GNUstep」としてみた(デフォルトは「c:\GNUstep」にインストールしようとする)。
インストール時に環境変数PATHを書き換えているのが確認できたため、インストール完了後システムリブートを実施。
■コンパイル
なにやらコンパイルオプションをいっぱい指定する必要があるらしいので、バッチファイルを作ってみた。ヘッダやライブラリを指定するパスは、GNUstepをインストールした場所に合わせて適宜書き換える必要がある。
【cl.bat】
gcc -o %1 %1.m
-I c:/usr/GNUstep/GNUstep/System/Library/Headers
-L c:/usr/GNUstep/GNUstep/System/Library/Libraries
-lobjc
-lgnustep-base
-fconstant-string-class=NSConstantString
-enable-auto-import
見やすいように改行を入れたが、実際には改行は入っていない。
使い方は、例えばtest.mというソースをコンパイルするときは、
D:\> cl test
とすると、test.mをコンパイルしてtest.exeを出力してくれる。


コンパイルで、「#import <Foundation/Foundation.h>」部が通らなくて困っていたところ。
【cl.bat】を参考に、MakeFileを作ったら通った!!
w(゚o゚)w オォォォ!!
感謝します。
投稿: xcode | 2009年1月16日 (金) 17時28分
xcodeさんコメントありがとうございます。
ぉ〜お役に立てましたか。それは何よりでした。
ブログの方、見させていただきました。そちらはCygwinでのトライだったんですね。私はCygwinでのNS系クラスの利用をあきらめてしまいました。
投稿: たけBlizzard | 2009年1月16日 (金) 23時32分