因此,如何在本机编译所有这些应用程序呢?首先,您需要一个使用 GCJ 设置的开发环境。目前,在 Linux 和其它 UNIX 变体(请参阅“Windows 上的 GCJ”侧栏以了解 GCJ 在 Windows 上的情况)上支持 GCJ。设置开发环境的最简便方法是安装一种 Linux 分发版的新近版本。Mandrake 8.1 和 Red Hat 7.2 都带有需另外安装的 GCJ 3.0.1。因为 GCJ 仍然在发展,所以可能想考虑使用最新和最好的版本。我选择在版本 3.0.3 和 3.0.4 上进行测试。手工安装 GCJ 相对容易;GCJ 页面提供了相当好的文档
一旦有了一个具有 GCJ 的环境,则下载 Eclipse SDK 并安装它。这将为您提供 SWT 源代码和字节码。要安装 Eclipse SDK,请下载 ZIP 文件(在 Eclipse SDK 标题下),然后将它解压缩到一个目录中。我建议使用目录 /usr/local/eclipse,但是任何目录都可以。
开始编译
设置开发环境后,就可以开始编译了。编译应用程序包括对大多数 SWT 源代码执行与下面类似的命令:
1 gcj -c MyClass.java -o MyClass.o
2
2
大约有 30 个 SWT 源文件使用 Java 本机接口(Java Native Interface (JNI)),因此我们需要以略微不同的方式来编译它们(请注意 -fjni 标记):
1 gcj -fjni -c MyJNIClass.java -o MyJNIClass.o
2
2
最后,我们需要将结果对象编译成共享对象:
1 gcj -shared -o swt.so MyClass.o MyJNIClass.o ...
2
2