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