フォト
2009年11月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
無料ブログはココログ

« 【Cocoa】NSDateから日時の値を取得する | トップページ | 【Cocoa】タイマーで1秒ごとに処理をする »

2009年1月14日 (水)

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を出力してくれる。

« 【Cocoa】NSDateから日時の値を取得する | トップページ | 【Cocoa】タイマーで1秒ごとに処理をする »

コメント

コンパイルで、「#import <Foundation/Foundation.h>」部が通らなくて困っていたところ。
【cl.bat】を参考に、MakeFileを作ったら通った!!

w(゚o゚)w オォォォ!!

感謝します。

xcodeさんコメントありがとうございます。

ぉ〜お役に立てましたか。それは何よりでした。
ブログの方、見させていただきました。そちらはCygwinでのトライだったんですね。私はCygwinでのNS系クラスの利用をあきらめてしまいました。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/95697/27137517

この記事へのトラックバック一覧です: WinwdowsでObjective-C パート2 (NS~クラスも利用可) :

« 【Cocoa】NSDateから日時の値を取得する | トップページ | 【Cocoa】タイマーで1秒ごとに処理をする »