2014-12-13 83 views
0

我试过GCJ,它编译得很好。我尝试了Ubuntu和Windows。编译的文件在我的Ubuntu机器上运行,以及带有wine的.exe文件。但是,如果我想我的Ubuntu的服务器上运行,我得到这个错误:GCJ:Java本地代码,不会在其他机器上运行

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 for windows。

回答

3

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

当您为特定平台编译程序时,通常只能在该平台或类似平台上运行。如果你想在Windows上运行这个程序,你需要为Windows编译它。

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

+0

你的意思是“编译它的Windows”编译**在**窗口?因为我用我提到的这行代码来编译它,所以没有? 但我的目标是避免用户需要安装JRE。 – Joey 2014-12-13 14:32:46

+0

@ st1n您需要为可以安装的每种类型的系统构建软件。您还需要安装所需的共享库。 – 2014-12-13 14:41:47

+0

您的意思是针对windows 7,8等的“每种类型的系统”,还是真的针对friend1,friend2,friend3的机器? 顺便说一句,感谢您的帮助:) – Joey 2014-12-13 14:43:38

相关问题