'GNUstep'에 해당되는 글 1건

Objective-C on Windows :: 2009/10/27 22:42

Objective-C는 애플의 Max OS X 어플리케이션 및 아이폰/아이팟 어플리케이션을 개발할 때 쓰이는 기본언어로 C언어를 확장한 언어이다. 보통 Mac에서 Xcode 도구를 사용하여 컴파일/빌드를 하지만, Mac 시스템이 없이 Objective-C를 배우려면 플래폼에 맞는 GNU Compiler(gcc)를 사용하면 된다.

윈도우에서 Objective-C 프로그램을 컴파일하려면 MinGW 기반의 GNUstep을 설치하여 gcc를 이용하면 된다. 다음 주소에서 GNUstep System과 GNUstep Core를 받아서 설치한다.

GNUstep Shell을 실행하여 콘솔에서 유닉스 명령을 이용해 작업을 하면 된다.

User inserted image

다음과 같은 Objective-C 샘플 코드(Hello.m)를 이용하여 간단한 어플리케이션을 만들어 보자. Objective-C에서는 소스 확장자를 관례적으로 .m (message에서 유래)을 사용한다.
#import <Foundation/Foundation.h>

@interface HelloWorld : NSObject
- (void) hello;
@end

@implementation HelloWorld
- (void) hello {
    NSLog(@"Hello World!");
}
@end

int main(void) {
    HelloWorld *hw = [[HelloWorld alloc] init];
    [hw hello];
    [hw release];
}

1. 커맨드 라인에서 gcc를 이용하여 컴파일하기
위 Hello.m 소스를 컴파일하려면 다음과 같은 커맨드 라인 옵션을 사용하면 된다.
$ gcc -o Hello Hello.m -I /GNUstep/System/Library/Headers \
-L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base \
-fconstant-string-class=NSConstantString

컴파일이 정상적이면 실행 파일이 생기며, 바로 실행해 볼 수 있다. 아래와 같은 유사한 화면을 볼 수 있을 것이다.
User inserted image

2. GNUstep Makefile 이용하여 컴파일하기
위의 기본 컴파일 방법 이외에 GNUstep Makefile을 이용하여 Objective-C 프로그램을 컴파일 할 수 있다. 다음과 같이 GNUmakefile 라는 파일명의 텍스트 파일을 작성한 후에 커맨드 라인에서 'make'를 실행하면 된다.
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = Hello
Hello_OBJC_FILES = Hello.m
include $(GNUSTEP_MAKEFILES)/tool.make

정상적으로 실행이 되면 obj 디렉토가 생기며 그 밑이 실행 파일이 생성된다. 다음과 같은 유사한 화면을 볼 수 있다.
User inserted image

참조: http://blog.lyxite.com/2008/01/compile-objective-c-programs-using-gcc.html