UbuntuでGNUstepのアプリケーション開発

UbuntuObjective-c。しかもGUIのアプリケーションを作る方法の備忘録。

Ubuntuのバージョンは8.04。

とりあえず必要なパッケージをapt-getでインストール。
GUIが動くまでに必要なパッケージは最後に一覧で書いてます。


パッケージをインストールした後は環境構築のために

/usr/share/GNUstep/Makefiles/GNUstep.h

を実行(一旦そこのディレクトリに行かないとだめかな)しておく。

ウィンドウを開くサンプルソース

とりあえずソースファイルはこんな感じなのを

#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>

int 
main(int argc, const char* argv[])
{
  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
  [NSApplication sharedApplication];
  

  NSRect rect;
  rect = NSMakeRect(32,32,800,660);

  unsigned int winStyle=
	NSTitledWindowMask|
	NSClosableWindowMask|
	NSMiniaturizableWindowMask|
	NSResizableWindowMask;
  
  NSWindow *window = [NSWindow alloc];
  [window initWithContentRect:rect
		  styleMask:winStyle
		  backing:NSBackingStoreBuffered 
		  defer:NO];
  [window makeKeyAndOrderFront:nil];
  [window makeMainWindow];


  [NSApp run];
  return 0;
}

Makefile

次に上記ソースをコンパイルするためのMakefileを。

MakefileGNUstep用にしないとダメ。

こんな感じ

GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
include $(GNUSTEP_MAKEFILES)/common.make

APP_NAME = GuiApplication
GuiApplication_OBJC_FILES = main.m

include $(GNUSTEP_MAKEFILES)/application.make

上記を見てもわかる通り,GNUstep用のメイクファイルをインクルードしてます。
APP_NAMEは出来上がる実行ファイルの名前を,***_OBJC_FILESにはコンパイル対象のソースファイルを記述します。

パッケージさえそろっていれば上記Makefileでソースファイルはビルドできます。

ビルドが成功すると,'''実行ファイル名.app'''というディレクトリができるはず。
(つまりこの場合はGuiApplication.app)

実行

openappというコマンドを使います。

プロンプト上で

 $ openapp ./GuiApplication.app

とすれば画面が見えます。

こんな感じで


必要なパッケージ