GCJ:Java原生代码,不会在其他机器上运行



我尝试了GCJ,它编译得很好。我尝试了Ubuntu和Windows。编译后的文件在我的 Ubuntu 机器上运行,以及带有 wine 的.exe。但是如果我尝试在我的 Ubuntu 服务器上运行,我会收到此错误:

error while loading shared libraries: libgcj.so.14: cannot open shared object file: No such file or directory

但我认为我不需要安装任何东西来运行"本机"代码。我也无法在Windows机器上运行.exe。

你能告诉我为什么会这样吗?也许我编译错了。我使用这个:gcj --main=Hello -o hello.exe Hello.jar用于窗户。

当你运行可执行文件时,需要共享库是很常见的,无论你使用的是Visual Studio .NET还是Java还是C++。

当您为特定平台编译程序时,它通常仅适用于该平台或类似平台。 如果要在Windows上运行此程序,则需要针对Windows编译它。

顺便说一句,GCJ很旧,已经过时了。 我建议你使用 Java 7 或 8。 这将避免安装其他库的需要,并且可以在Windows或Linux上运行而无需重新编译。

最新更新