我为我的一个作业写了一个小的java应用程序。问题是老师可能没有安装JRE。我想要将java文件编译为窗口exe文件的ID,以便教师可以在没有安装JRE的情况下运行它。
我在cygwin中使用gcj工具,但输出应用程序似乎需要运行cygwin1.dll
。我怎样才能避免这种情况,IE将应用程序所需的所有东西都打包到一个文件中,这样教师就不需要安装任何东西了。
答案 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
;没脑子。