問題タブ [library-path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3642 参照

linux - Ubuntu への JavaComm API のインストール

この質問がインターネット上で何度か聞かれたことは知っていますが、この問題を解決するために約 1 週間を費やしましたが、ほとんど運がありませんでした。

Windows PC のローカル Apache サーバーで開発した Web プロジェクトを展開するために、リモートの Linux Ubuntu 11.0、32 ビット サーバーにJavaCommAPI (rs232 との通信を可能にするアーカイブされた Java パッケージ)をインストールしようとしています。

私を困惑させているのは、javax.comm.properties、comm.jar、および libSerialParallel.so を正しく配置することにより、.war Web プロジェクトを別の 32 ビット LinuxMint16 PC 上のローカル Apache サーバーにデプロイできることです。ファイルをそれぞれの場所に配置します。

System.getProperty("java.library.path"); を使用します。正しいライブラリ パスを見つけて、正しいファイルをインストールします。

私の LinuxMint16 では:

javax.comm.properties -- /usr/lib/jvm/java-7-openjdk-i386/jre/lib

comm.jar -- /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext

libSerialParallel.so -- /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386

....動作します!

私のリモートUbuntuサーバーでは、報告されたライブラリパスに対してまったく同じことをしました

(例: /usr/local/jdk/jdk1.7.0_45/jre/lib/javax.comm.properties ;

/usr/local/jdk/jdk1.7.0_45/jre/lib/ext/comm.jar ;

/usr/local/jdk/jdk1.7.0_45/jre/lib/i386/libSerialParallel.so)

...失敗 =(

注意事項: BuildPath ウィザード (プロジェクトを右クリック --> [ビルド パス] --> [外部 jar を追加]) を使用して、必要な apache jar と comm.jar を Eclipse のライブラリに追加しました。コマンドラインからのみアクセスしているリモートサーバーには明らかに使用できません。これが何らかの影響を与えているのではないでしょうか?

Java コンソールからのエラー出力 (System.err) をリモート サーバー用の別のファイルに出力しようとしました。そのフィードバックは、LinuxMint PC ですべてのファイルを並べ替えるのに非常に役立ちました。

これも奇妙なことに、ストリームを LinuxMintPC のローカル .txt ファイルに出力するのに奇妙に機能していますが、リモートの ubuntu サーバーで指定したファイルには出力していません。

私はここで本当に頭がおかしいです!! システムの適切なバージョンを混ぜ合わせて、スムーズな動作を妨げていますか? ここからどのように進めればよいかわかりません。誰かが何か洞察を持っているとしたら、私は幸せで死ぬでしょう。ありがとう

0 投票する
0 に答える
36 参照

c++ - 実行時に 2 つの異なる ld_library_path を使用する

2 つのサブプログラムを開始する C++ プログラムを実行したいと考えています。問題は、あるプログラムが別のプログラムとして別のライブラリ パスを必要とすることです。だから私はこのようなものを持っています:

どうすればそれを達成できますか (または、実行時にこれが可能ではないでしょうか?)。前もって感謝します!

0 投票する
1 に答える
1089 参照

c - Solaris はどのようにライブラリ パスを決定しますか?

Solaris では、次のようcrleにコマンドを使用してライブラリ パスを構成できます。

次のように、従来のLD_LIBRARY_PATH方法を 使用することもできます。

Solaris はどのようにライブラリ パスを決定しますか? たとえば、Solaris はcrle path最初から選択し、次にLD_LIBRARY_PATH? しようとしgoogleますが、答えが見つかりません。

0 投票する
1 に答える
167 参照

linux - Makefile でプロジェクトを 64 ビットのライブラリにリンクする方法

私はメイクファイルの初心者開発者で、src ディレクトリを含むプロジェクトを持っています。src ディレクトリ内には、次のような .c および .h ファイルがあります: file1.c、file2.c、main.c、header1.h、および header2.c。Main は file2.c に依存し、file2.c は file1.c に依存します。各ファイルは、私が持っている非標準ライブラリと非標準インクルード ディレクトリにもリンクする必要があります。ライブラリ ディレクトリとインクルード ディレクトリは/usr/lib/srr__lib/usr/bin/srr__binそれぞれ と です。src ディレクトリに 1 つ、プロジェクトのルート ディレクトリにもう 1 つ、2 つの makefile を作成しました。src メイクファイルは次のとおりです。

ルート ディレクトリの makefile は次のとおりです。

すべての autotools コマンドを正常に実行し、./configure を実行してから make を実行すると、プロジェクトは文句を言いませんでした。make でエラーはありませんが、生成された実行可能ファイルを ./PR として実行すると、エラーが発生し、以下のエラーが表示されます。

共有ライブラリの読み込み中にエラーが発生しました: libsrr__ml__sharedmem_4core.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

ライブラリが64ビットで、私のマシンも64であるため、リンクのエラーだと思います。しかし、メイクファイルでこれをどのように言及できますか? どんな助けでも大歓迎です。

0 投票する
1 に答える
3356 参照

ld - 「/usr/bin/ld: cannot find -lglib-2.0」というメッセージが表示されるライブラリが見つからないのはどれですか?

私は Lazarus プログラムをクロスコンパイルし、64 ビットの Ubuntu 14.04 Trusty Tahr システムで 32 ビットのプログラムを作成しています。このメッセージが表示されると、すべてが最後までコンパイルされるようです。

存在しないためにこのエラー メッセージが表示されるライブラリの完全な名前は?

libc6-dev:i386が最も可能性の高いライブラリのようですが、apt でインストールしようとするbuild-essential g++ gcc gcc-multilibと削除されることが示されるため、中止します。