使用cygwin编译java文件到widows本机代码

时间:2011-06-03 03:53:50

标签: java cygwin gcj

我为我的一个作业写了一个小的java应用程序。问题是老师可能没有安装JRE。我想要将java文件编译为窗口exe文件的ID,以便教师可以在没有安装JRE的情况下运行它。

我在cygwin中使用gcj工具,但输出应用程序似乎需要运行cygwin1.dll。我怎样才能避免这种情况,IE将应用程序所需的所有东西都打包到一个文件中,这样教师就不需要安装任何东西了。

3 个答案:

答案 0 :(得分:1)

使用MinGW代替Cygwin。

为10-MiB可执行文件做好准备。

答案 1 :(得分:1)

为什么不让老师安装JRE,或者他们有没有?如果您允许使用Java,那么我确信教师将必需拥有正确评估您的作业的工具。

如果不允许使用Java,那么,你在想什么?

答案 2 :(得分:0)

  

应用程序似乎需要运行cygwin1.dll

在Windows上发送带有.exe文件群集的.dll是正常的。

如果您使用Microsoft Visual Studio,则您的程序还需要附带Visual Studio Redistributable Run-Time中的某些库。 (除非您静态链接它。)Windows上的大多数主要应用程序都有安装目录,其中包含dll个文件,如果没有它们将无法运行。

2016年中,Cygwin项目将许可从GPL更改为LGPL。这意味着您可以将程序链接到cygwin1.dll并重新分发它们,即使这些程序具有与常规GPL不兼容的许可证,例如封闭源,非可自由再分发的专有程序。 (当然,如果您在如何重新分发cygwin1.dll本身方面遵守LGPL,那么。)

  

IE将应用程序所需的所有内容打包到单个文件中,因此教师不必安装任何东西。

不安装任何东西的唯一方法就是根本没有文件。如果只有一个文件,则必须将其放在某处,并且符合安装定义。在Windows上,如果您的.exe文件取决于.dll,则必须确保将它们放在同一目录中。如果程序太不重要,无法保证开发完整的安装程序,则可以像将这些要求放入.zip文件一样轻松地满足此要求。

您的教师在其桌面或其下载目录中解压缩您的.zip文件。应该出现一个文件夹,该文件夹中包含您的程序和dll。可以调用该程序并加载dll;没脑子。