using cygwin compile java file to windows native code
I have written a small java application for one of my homework. the problem is the teacher may not have JRE installed. what i want to id to compile the java file to wi开发者_运维百科ndow exe file so the teacher can run it without the JRE installed.
i use the gcj tool in the cygwin , but the output application seem to need the cygwin1.dll
to run. how can i avoid this, IE package all the things the application need to a single file, so the teacher don't have to install anything.
Use MinGW instead of Cygwin.
And get ready for a 10-MiB executable.
Why don't you just ask your teacher to install a JRE, or if they have one? If you are allowed to use Java, then I'm certain the teacher will be required to have the tools for properly evaluating your homework.
If you weren't allowed to use Java, well then, what were were you thinking?
The application seem to need the
cygwin1.dll
to run.
Shipping an .exe
with an cluster of .dll
files is the norm on Windows.
If you use Microsoft Visual Studio, your program will also need be shipped with some libraries from the Visual Studio Redistributable Run-Time. (Unless you link it statically.) Most major applications on Windows have installation directories chock full of dll
files, and won't run without them.
In the middle of 2016, the Cygwin project changed the licensing from GPL to LGPL. This means you can link programs with to cygwin1.dll
and redistribute them, even if those programs have a license that is not compatible with the regular GPL, such as closed-source, non-freely-redistributable, proprietary programs. (If you otherwise comply with the LGPL in regard to how you are redistributing cygwin1.dll
itself, of course).
IE package all the things the application need to a single file, so the teacher don't have to install anything.
The only way not to install anything is not to have a file at all. If there is a single file it has to be put somewhere, and that meets the definition of installation. On Windows, if you have a .exe
file that depends on a .dll
, all you have to ensure is that they are put into the same directory. This requirement can be met as easily as by putting them into a .zip
file, if the program is too unimportant to warrant developing a full blown installer.
Your teacher unzips your .zip
file on their Desktop, or in their Downloads directory. A folder should appear, and in that folder is your program and the dll
. The program can be invoked and loads the dll
; no brainer.
精彩评论