음... 바로 솔라리스로 배우려고 했다가... 내공이 턱없이 부족함과...

제 내공 문제인지.. GNUstep의 솔라리스 패키지를 받으려고 하면

 

 

보시는 바와 같이, sparc cpu계 밖에 없습니다...

일단... 유닉스나 리눅스나 거기서 거기라 가정하고, 그 환경에서 Objective-C를 익히기 위해... (맥... 너무 비싸서.. ㅠㅠ)

그나마 정보량이 많은 우분투계에서 진행하려 합니다.

 

1. 제목에서는 우분투라 했지만, 제가 리눅스를 만져본 경험상, 터미널 열고 텍스트 위주로 명령어를 치는건 주분투가 편하기 때문에 주분투로 설치 하였습니다.

오라클의 버츄얼Box(무료)를 다운받아 주분투(무료)를 다운, 설치를 시작합니다.

 

 

2. 설치가 다 되면, 터미널을 열고 몇몇 명령어들을 입력해 봅니다.

 다행히 make, gcc, g++ 같은건 기본 탑재로 설치되어있습니다.

확인후, GNUstep을 설치해 줍니다.

$sudo apt-get install gnustep

 

 

3. GNUstep-dev 도 설치해 줍니다. 

$sudo apt-get install gnustep-devel

 

 

4. 간단한 Hello World 예제를 작성합니다.

여기서는 #import <Foundation/Foundation.h>를 사용해서 NS-Class계를 사용하도록 합니다.

$ vi main.m

 

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[])
{
     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
     NSString *noncap = @"How do you like Objective-C?";
     NSString *cap;
     cap = [noncap capitalizedString];
     NSLog(@"output = %@", cap);
     [pool release];
    

     return 0;
}

 

 

원래는 저기서 gcc가 되어야 하는데... 파일과 디렉토리를 못찾겠다고 뜨네요...

그래서 설정이 되어있는지 확인해 보았습니다.

 

보아하니, Include 경로와, Lib 경로를 매크로로 해놓은 단어였네요... 그런데도 gcc가 안되니... ㅠㅠ...

 

5. 다른 방법으로 make를 해봅시다.

컴파일 환경을 자동으로 해주는 GNUmakefile을 만들어봅니다.

 

$ vi GNUmakefile

 

GNUSTEP_MAKEFILES=$(shell gnustep-config --variable=GNUSTEP_MAKEFILES)
include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME=SampleCode
SampleCode_HEADERS =
SampleCode_OBJC_FILES = main.m
SampleCode_RESOURCE_FILES =

include $(GNUSTEP_MAKEFILES)/tool.make

 

 

음.... GNUmakefile 을 작성한뒤 그냥 make 하니 Linking 이 걸리면서 obj 폴더가 나왔습니다.

안에 TOOL_NAME 으로 지정한 SampleCode 파일이 만들어졌네요.

 

실행시켜 보니, "한글 로컬라이징 리소스를 읽다가 에러가 났어요" 같은 에러가 나네요...

무시하고 밑에 보니

ouput으로 How Do You Like Objective-c? 가 찍히네요...

음...

Hello World 치고는 뭔가 복잡한... 소스라 초보자로선 뭔지 모르겠네요..

 

 

그래서 main.m 을 다시 바꾸고 다시 컴파일 했습니다.

직관적인 Hello Objective-C 예제 입니다.

//새로운 main.m 파일, 이전 소스 싹 삭제하고 다시 작성해 봅시다.

 

#import <stdio.h>

#import <Foundation/Foundation.h>

 

int main(int argc, const char *argv[])

{

      NSString *helloString = @"Hello there.";

      printf("%s\n", [helloString cString];

 

      return 0;

 

 

보시는 바와 같이 깔끔하게 직관적으로 이제부터 뭘 어떻게 공부해야 할지 알려주네요 ㅠㅠ

아...

+ Recent posts