開始使用
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
首先,取得來源和
建構
如要翻譯 Java 來源檔案 (例如 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 -c Hello.m
j2objcc 是叫用 C 編譯器的包裝函式指令碼
(通常為 clang,也稱為 LLVM,Apple 的 C/C++/Objective-C
編譯器)。
如要建構執行檔:
j2objcc -o hello Hello.o
./hello Hello
hello, world
j2objcc 會轉送您為 Objective-C 編譯器指定的選項。
舉例來說,如要使用偵錯符號進行翻譯和建構,請使用 -g
標記:
j2objcc -g -o hello Hello.m
常見問題
執行 j2objcc
時,系統並未抱怨「Foundation/Foundation.h」找不到「 」
如果編譯失敗原因是找不到 Foundation/Foundation.h,問題就會是
就是系統找不到 iOS SDK (也就是標頭的位置)。
- 確認您已安裝 Xcode。
- 執行
xcode-select --install
以安裝指令列工具。
- 執行
xcodebuild -showsdks
,應顯示至少一個適用於 OS X、iOS、
以及 iOS 模擬器
- 如果失敗,請刪除 Xcode 應用程式,然後執行步驟 1。
j2objcc
會採取哪些標記?
j2objcc
指令碼只是 Objective-C 編譯器 clang 的包裝函式。
執行 man cc
或 man clang
以列出其選項。
編譯器需要知道翻譯後檔案所在的目錄,
使用 -I <directory>
。因此如果產生檔案
j2objc -d foo/bar ...
,
那麼 j2objcc
指令需要 -Ifoo/bar
。如果沒有輸出目錄
在 j2objc
指令中指定的,那麼需要新增 -I.
。
如何在 Windows 或 Linux 上執行?
J2ObjC 是一款適用於 Mac OS X 開發的 iOS 工具。無法編譯
任何翻譯的程式碼,因為需要 Apple 的 OS X 或 iOS SDK
這項 SDK 僅可在 Mac 上使用。
不過,由於 J2ObjC 轉譯器是純 Java 語言,因此您可以在
和其他系統一樣在 Linux 中,j2objc
指令碼應會變更。Windows
如要使用,就必須執行 CygWin,或叫用 Java
如要在不使用 j2objc 指令碼的情況下叫用翻譯工具,請使用
以下為 J2OBJC_DIR
的目錄,其中
J2ObjC 發布檔案已解壓縮:
java -Xbootclasspath:\lib\jre_emul.jar -jar J2OBJC_DIR\lib\j2objc.jar [j2objc-flags] [source files]
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-25 (世界標準時間)。"],[[["\u003cp\u003eJ2ObjC translates Java source code to Objective-C for iOS development.\u003c/p\u003e\n"],["\u003cp\u003eTo use J2ObjC, download the source, build it, then use the \u003ccode\u003ej2objc\u003c/code\u003e and \u003ccode\u003ej2objcc\u003c/code\u003e commands to translate and compile your Java code.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ej2objcc\u003c/code\u003e is a wrapper around clang, the Objective-C compiler, and uses the iOS SDK, requiring Xcode and command-line tools.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting includes ensuring Xcode is set up correctly and specifying include paths for translated files when compiling.\u003c/p\u003e\n"],["\u003cp\u003eJ2ObjC primarily functions on macOS for iOS development, although translation alone can be done on Linux or Windows using Java directly.\u003c/p\u003e\n"]]],["To use J2ObjC, first download and build it. Translate Java source files (e.g., `Hello.java`) to Objective-C using `j2objc Hello.java`. Compile the translated file using `j2objcc -c Hello.m`, then build the executable with `j2objcc -o hello Hello.o`. Ensure Xcode and command-line tools are installed for compilation. Address header file issues by using the `-I \u003cdirectory\u003e` flag. Note that direct compilation is restricted to macOS due to SDK requirements. Translation, however, can occur on other operating systems.\n"],null,[]]