Öncelikle:
- Yayınlar bölümünden geçerli dağıtımı indirip sıkıştırmasını açın veya
- Kaynağı alın ve oluşturun.
Bir Java kaynak dosyasını (örneğin, Hello.java) çevirmek için:
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
Çevrilen dosyayı derlemek için:
j2objcc -c Hello.m
j2objcc, C derleyicinizi (normalde clang, yani LLVM, Apple'ın C/C++/Objective-C derleyicisi) çağıran bir sarmalayıcı komut dosyasıdır. Yürütülebilir dosyayı oluşturmak için:
j2objcc -o hello Hello.o
./hello Hello
hello, world
j2objcc, Objective-C derleyici için belirttiğiniz seçenekleri yönlendirir.
Örneğin, çeviri yapmak ve hata ayıklama sembolleriyle derlemek için -g
işaretini kullanın:
j2objcc -g -o hello Hello.m
Sık Sorulan Sorular
j2objcc
sitesini çalıştırdığımda "Foundation/Foundation.h"nin bulunmadığından şikayet ediyor.
Foundation/Foundation.h bulunamadığı için derleme başarısız olursa sorun iOS SDK'nın bulunamamasından kaynaklanmaktadır (başlık burada bulunur).
- Cihazınızda Xcode'un yüklü olduğundan emin olun.
xcode-select --install
komutunu çalıştırarak komut satırı araçlarını yükleyin.- OS X, iOS ve iOS Simülatörü için en az bir SDK gösterecek olan
xcodebuild -showsdks
aracını çalıştırın. - Başarısız olursa Xcode uygulamasını silip 1. adıma geçin.
j2objcc
hangi işaretlemeleri alır?
j2objcc
komut dosyası, Objective-C derleyicisini (clang) çevreleyen bir sarmalayıcıdır.
Seçeneklerini listelemek için man cc
veya man clang
komutunu çalıştırın.
j2objcc
ile derleme yaparken, projemin başlık (.h) dosyaları bulunamıyor.
Derleyicinin, -I <directory>
kullanarak çevrilmiş dosyaların bulunduğu dizini bilmesi gerekir. Dolayısıyla dosyalar j2objc -d foo/bar ...
ile oluşturulduysa j2objcc
komutu için -Ifoo/bar
gerekir. j2objc
komutunda herhangi bir çıkış dizini belirtilmemişse -I.
ifadesinin eklenmesi gerekir.
Windows veya Linux'ta nasıl çalışabilirim?
J2ObjC, Mac OS X'te geliştirme için tasarlanmış bir iOS aracıdır. Çevrilmiş herhangi bir kodu derleyemezsiniz. Bunun nedeni, bu kodun Apple'ın SDK'larının yalnızca Mac'lerde kullanılmasını gerektiren bir OS X veya iOS SDK'sı gerektirmesidir.
Bununla birlikte, J2ObjC çevirmeni sadece Java olduğundan, çeviri diğer sistemlerde yapılabilir. Linux'ta j2objc
komut dosyası değişmeden çalışacaktır. Windows kullanımı, CygWin'i veya doğrudan Java'yı çağırmayı gerektirir. Çevirmeni j2objc komut dosyası olmadan çağırmak için aşağıdaki yöntemi kullanın. Burada, J2OBJC_DIR
, J2ObjC dağıtım dosyasının çıkarıldığı dizindir:
java -Xbootclasspath:\lib\jre_emul.jar -jar J2OBJC_DIR\lib\j2objc.jar [j2objc-flags] [source files]