我正在尝试从命令行为 ARMv7 目标交叉编译一个简单的 java 示例。
我需要为交叉编译添加哪些 javac 选项?
这是在主机上编译的标准 javac 命令:
javac -d bin -sourcepath src src/TextPanel.java
javac
将您的代码编译为字节码,然后可以在 JVM 上运行。字节码本身是跨平台的:只有 JVM(解释该字节码)是平台相关的。您需要的是在 ARMv7 目标上运行的 JVM。
没有任何。
大多数 Java 编译器生成针对特定 JVM 规范的 Java 字节码。生成的代码将在任何此类 VM 上运行,您无需关心机器架构,只需要“是否有运行在其上的 JVM 实现?”。
当然,有些编译器会生成其他东西(例如 gjc),但同样,javac
前端应该是相当标准的 javac。比较:当您使用 GCC 工具链交叉编译 C 代码时,命令行中的唯一区别在于选择要调用的编译器二进制文件。编译器的标志和参数保持不变,只是名称发生了变化(例如 fromgcc
到i686-w64-mingw32-gcc
)。