'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을 실행하여 콘솔에서 유닉스 명령을 이용해 작업을 하면 된다.

다음과 같은 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
컴파일이 정상적이면 실행 파일이 생기며, 바로 실행해 볼 수 있다. 아래와 같은 유사한 화면을 볼 수 있을 것이다.

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 디렉토가 생기며 그 밑이 실행 파일이 생성된다. 다음과 같은 유사한 화면을 볼 수 있다.

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

