İlk olarak kaynağı ve oluşturun.
Bir Java kaynak dosyasını çevirmek için (örneğin, 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
Çevrilmiş dosyayı derlemek için:
j2objcc -c Hello.m
j2objcc, C derleyicinizi çağıran bir sarmalayıcı komut dosyasıdır (normalde LLVM, Apple'ın C/C++/Objective-C) olarak da bilinen clang derleyici) oluşturun. Yürütülebilir dosyayı derlemek 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 ve hata ayıklama sembolleriyle derlemek için -g
işaretini kullanın:
j2objcc -g -o hello Hello.m
Sık Sorulan Sorular
j2objcc
çalıştırdığımda "Temel/Temel.h" oluşturuyor. bulunamadı.
Foundation/Foundation.h bulunamadığından derleme başarısız olursa sorun iOS SDK'sının bulunamamasıdır (başlık bu konumdadır).
- Xcode'un yüklü olduğundan emin olun.
xcode-select --install
komutunu çalıştırarak komut satırı araçlarını yükleyin.xcodebuild -showsdks
çalıştırın. Bu komut, OS X, iOS ve iOS için en az bir SDK göstermelidir. ve iOS Simülatörü'dür.- Bu başarısız olursa Xcode uygulamasını silin ve 1. adıma gidin.
j2objcc
hangi işaretleri alır?
j2objcc
komut dosyası, Objective-C derleyicisi olan clang'ın etrafına yerleştirilmiş bir sarmalayıcıdır.
Seçeneklerini listelemek için man cc
veya man clang
komutunu çalıştırın.
j2objcc
ile derlerken projemin başlık (.h) dosyaları bulunamıyor.
Derleyicinin, çevrilmiş dosyaların bulunduğu dizini bilmesi gerekir.
-I <directory>
kullanılıyor. Dosyalar
j2objc -d foo/bar ...
,
j2objcc
komutu için -Ifoo/bar
gerekir. Çıkış dizini yoksa
j2objc
komutunda belirtilirse -I.
eklenmesi gerekir.
Windows veya Linux'ta nasıl çalıştırabilirim?
J2ObjC, Mac OS X'te geliştirme için tasarlanmış bir iOS aracıdır. Derleyemezsiniz çünkü Apple'dan OS X veya iOS SDK'sı gerektirdiğinden, çevrilmiş SDK'larının yalnızca Mac bilgisayarlarda kullanılmasını gerektirir.
Ancak, J2ObjC çevirmeni tamamen Java olduğundan, çeviri
başka sistemlerde de işe yarar. Linux'ta j2objc
komut dosyası değiştirilmeden çalışmalıdır. Pencereler
kullanımı CygWin veya Java'nın çağrılması gerekir
doğrudan ekleyebilirsiniz. Çevirmeni j2objc komut dosyası olmadan çağırmak için
Burada J2OBJC_DIR
,
J2ObjC dağıtım dosyası açıldı:
java -Xbootclasspath:\lib\jre_emul.jar -jar J2OBJC_DIR\lib\j2objc.jar [j2objc-flags] [source files]