2012-12-19 3 views
1

나는 Objective-C을 배우고 있습니다. 나는 Windows 7에서 GNU Step (GCC)을 설치하여 Objective-C을 컴파일하고 실행했다. 나는 cmd.exe을 실행하고 GCC를 사용하는 Windows 7의 Objective-C

1: gcc -x objective-c <filename.m> -o <obj.o>

다음 내가

2: obj.o

를 입력 입력하고 Objective-C 파일을 실행합니다. 먼저 내가 트랙에 있는지 여부를 알려주세요. 그렇다면 어떻게하면 BAT 파일을이 두 단계를 수행 할 수 있습니까? 다른 말로 GCC에서 Objective-C 파일을 컴파일하고 실행하는 올바른 방법을 말해주십시오. 사전에

감사합니다.

+2

일반적으로'하지 실행에 대한 중간 파일의 파일 확장자로 .o' 사용합니다. 실제로'.exe' 파일 인'.o' 파일을 갖는 것은 혼란 스럽습니다. – Petesh

+0

@Petesh 유닉스에서'.o' 파일은 컴파일러에 의해 생성 된 실행 파일의 확장자입니다. –

+0

@whoone 네, 옳은 일을하고 있습니다. 첫 번째 단계는 파일을 컴파일하고'.o' 파일로 변환합니다. 다음 단계로 실행합니다. –

답변

0

GNU 스텝 쉘은 유닉스 쉘과 같으므로 .bat 파일은 실행되지 않습니다. .sh 파일을 만듭니다.

예 :

$1 편집 한 .sh 파일 user/myDir>sh runFile.sh MyFile.m


에 전달되는 인수입니다 runFile.sh는

echo "Argument $1" 
gcc -x objective-c $1 -o MyObj.o 
MyObj.o 

이것은 내가 실행할 때 내가 사용했던 그 cm.sh입니다 GNU 단계

cmd.sh

gcc -o hello hello.m -I /c/GNUstep/GNUstep/System/Library/Headers -L /c/GNUstep/GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString 

그리고 이것이 내가

#import <Foundation/Foundation.h> 

int main() 
{ 
printf("helkjfkaskdhfkjas\n\n"); 

NSObject *obj; 
NSString *str1 = @"Hello"; 
NSString *str = [[NSSstring alloc] initWithString:str1]; 

printf("cnst = %d  var =%d",[str1 retainCount],[str retainCount]); 

return 0; 
} 
+0

그러면 파일 이름은 어디에 있습니까? 'set "param1 = filename.m"'이게 뭔가? – whoone

+0

내 편집을 확인하십시오 ... –

+0

'sh'가 내부 또는 외부 명령으로 인식되지 않습니다. 작동 가능한 프로그램 또는 배치 파일입니다 .'' windows에서 작동하지 않습니다. – whoone

1

당신은 간단한 GNUmakefile '은 찾지를 작성하고 그누 스텝 - 메이크업와 소스를 빌드 할 수 있습니다를 실행 한 hello.m 프로그램입니다 (이미이어야한다 설치) 여기에 하나를 쓰는 방법이 있습니다. 원본 파일과 동일한 폴더에 넣고 make를 입력하십시오.

http://www.gnustep.it/nicola/Tutorials/WritingMakefiles/node2.html