2012-10-12 3 views
0

Java 코드를 objective-c 코드로 변환해야합니다. 내가 $ j2objcc -o 인사를 실행할 때 Hello.o을 여기j2objc : 명령을 찾을 수 없습니다.

$ j2objcc -c Hello.m 
$ j2objcc -o hello Hello.o 

:

$ cat Hello.java 
public class Hello { 
public static void main(String[] args) { 
System.out.println("hello, world"); 
} 
} 
$ j2objc Hello.java 
translating Hello.java 
Translated 1 file: 0 errors, 0 warnings 

번역 된 파일을 컴파일하려면 여기에 다음 코드를 작성하고 내 터미널에서 실행해야 내 터미널, 나는 다음과 같은 오류가 발생합니다.

$ j2objcc -o hello Hello.o 
Undefined symbols: 
    "_objc_autoreleasePoolPop", referenced from: 
     -[JavaLangThread run] in libjre_emul.a(Thread.o) 
    "_objc_autoreleasePoolPush", referenced from: 
     -[JavaLangThread run] in libjre_emul.a(Thread.o) 
ld: symbol(s) not found 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

어떻게이 오류를 해결할 수 있습니까?

+1

은'어디 폴더처럼 보인다 j2objc '이 (가) 경로에 없습니다. – MByD

+0

설치 한 Xcode의 버전은 무엇입니까? –

+1

나는 xcode 3.2.6을 사용했습니다 – user1676640

답변

1

당신은 Xcode 3.2.6을 사용하고 있다고 코멘트를 주셨습니다. 현재 J2ObjC에는 Xcode 4+이 필요합니다.

참조 : https://code.google.com/p/j2objc/

1

당신은 당신이 j2objc 배포 번들의 압축을 푼 곳으로 경로를 추가해야합니다. 예를 들어 :

$ cd $HOME 
$ unzip ~/Downloads/j2objc-*.zip 
$ export PATH=${PATH}:${HOME}/j2objc 

참고 :.. export 명령은 위의 $ {HOME}에 추가해야합니다/당신이 로그 아웃 한 후 다시 로그인 할 때이 설정되어 있으므로 bashrc에 파일

+0

해당 파일에서 나를 위해 작동하지 않았지만 .bash_profile을 사용했습니다. http://superuser.com/a/69190/205555 – Nublodeveloper

관련 문제