【发布时间】:2010-01-20 15:36:17
【问题描述】:
我用 Java 编写了一个应用程序,并使用 gcj 成功编译了它。它运行得非常好,但我遇到了一个障碍:我只能通过 shell 脚本运行可执行文件,因为我必须指定库路径。
我需要的库是 SWT、Xerces 和 GNU-crypto。
在gcj 中编译时有没有办法静态链接库,或者这不是一个好主意?或者,我可以在编译时指定(相对)库路径吗?
目前,我的 shell 脚本如下所示:
#!/bin/sh
export LD_LIBRARY_PATH=./libs/:$LD_LIBRARY_PATH
exec ./MyJavaApp $*
【问题讨论】:
-
这个应用是你自己用的吗?还是您打算将其提供给其他人?如果您自己使用,您可以修改 bashrc 或类似 rc 文件中的 LD_LIBRARY_PATH ,以便在您登录时设置它,您可以取消 shell 脚本。我想这只是你想避免的烦恼?
-
该应用程序旨在分布在所有平台上。我想避免让用户运行 shell 脚本来运行应用程序。
标签: java linux gcc executable gcj