2

找到了解决方案!

Ubuntu 默认忽略命令“RD_LIBRARY_PATH”,因此我需要在“.bashrc”而不是“/etc/environment”或.profile 中添加这些代码。

现在它工作得很好!


我正在尝试运行一个从 C/C++ 代码中读取 Java 方法的程序。(我在 Windows 上成功了,现在我在 Linux 上工作)

我使它成功编译并在 Ubuntu 上运行,但是,问题是.. 每当我尝试运行程序时,我必须在终端上键入以下命令..

source /etc/environment
./invoke #program name is invoke

如果我每次启动 PC 时都没有输入“source /etc/environment”,我得到的错误信息是......

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

好的。这是我在 /etc/environment 中添加的内容

export PATH="$PATH:/usr/lib/jvm/jdk1.7.0_25_x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_25_x64
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server

我想要的是,如您所知,我想在不输入“source /etc/environment”的情况下运行程序。我也尝试在 /etc/profile 上输入这些 PATH,但结果是一样的……我应该在每次重新启动 PC 时输入“source /etc/profile”。

如何使其永久应用于整个系统范围,而无需在每次启动时输入“source /etc/environment”内容?

如需查看程序源代码,可下载地址: http ://cfile237.uf.daum.net/attach/247819495212DF1C07B9EB

4

5 回答 5

9

这对我有用:

对于 x86:

export LD_LIBRARY_PATH=/usr/lib/jvm/default-java/jre/lib/i386:/usr/lib/jvm/default-java/jre/lib/i386/server

对于 x86_64

export LD_LIBRARY_PATH=/usr/lib/jvm/default-java/jre/lib/amd64:/usr/lib/jvm/default-java/jre/lib/amd64/server
于 2014-03-27T09:44:08.983 回答
1

我在设置路径(永久)时遇到了同样的问题,但是我使用的是 Red Hat,如果您希望在 Ubuntu 上永久更改 PATH,它可能会对您有所帮助。Red Hat .profile上有一个文件,一旦您添加导出语句,它们将在计算机启动时加载。:) 应该有 ubuntu 的那种文件

export     PATH="$PATH:/usr/lib/jvm/jdk1.7.0_25_x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

导出 JAVA_HOME=/usr/lib/jvm/jdk1.7.0_25_x64

于 2013-08-20T03:41:01.473 回答
0

将“-Djava.library.path=FULL_PATH_HERE/jre/lib/amd64”作为 JVM 选项放入 C 代码中。

编辑 full_path_here 部分。

该路径允许是相对的,但我认为您不能使用 $JAVA_HOME 作为环境变量的占位符。

于 2013-08-20T03:25:32.230 回答
0

找到了解决方案!

Ubuntu 默认忽略命令“RD_LIBRARY_PATH”,因此我需要在“.bashrc”而不是“/etc/environment”或.profile 中添加这些代码。

现在它工作得很好!

于 2013-08-22T01:38:38.947 回答
0
  1. 在文件 /etc/ld.so.conf 中添加缺少的库的路径
  2. 执行以下命令: ldconfig 这样,您会将新库添加到默认库中。
  3. 要检查是否已链接新库,请执行以下命令: ldconfig -p 以获取当前默认链接的库列表。
于 2015-08-03T23:15:02.760 回答