2

解決策を見つけました!

Ubuntu はデフォルトでコマンド「RD_LIBRARY_PATH」を無視するため、これらのコードを「/etc/environment」または .profile の代わりに「.bashrc」に追加する必要があります。

今では完全に正常に動作します!


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

Ok。/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には、exports ステートメントを追加すると、コンピューターの起動時にロードされるファイルがありました。:) 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

C コードの JVM オプションとして「-Djava.library.path=FULL_PATH_HERE/jre/lib/amd64」を挿入します。

full_path_here 部分を編集します。

相対パスは許可されていますが、 $JAVA_HOME を環境変数のプレースホルダーとして使用できるとは思いません。

于 2013-08-20T03:25:32.230 に答える