GCJ:Java本机代码,不能在其他机器上运行

时间:2014-12-13 14:21:06

标签: java gcj

我试过GCJ并且编译得很好。我试过Ubuntu和windows。编译后的文件在我的Ubuntu机器上运行,而.exe与wine一起运行。但如果我试图在我的Ubuntu服务器上运行,我就会收到此错误:

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

BTW GCJ很老了,已经过时了。我建议你使用Java 7或8.这将避免安装额外的库,并且无需重新编译即可在Windows或Linux上运行。