まず第一に、これは皆さんにとって非常に初歩的な質問になるかもしれません。しかし、彼らが言うように、あなたが尋ねなければ、どのように学びますか?
だから、ここに事があります:
この .JAR ファイルは、Java 1.4 で動作するように開発されており、SUSE 9 Enterprise Server にインストールされています。
また、さまざまなプラットフォームでテストしました: - Suse 9 Enterprise Server 32 ビット + JDK 1.4.2_08 + LIBSTDC++.SO.6: スムーズに実行され、エラーは返されません。
Red Hat 5.5 Server 64 ビット + JDK 1.4: スムーズに実行され、エラーは返されませんでした。
Suse 9 Enterprise Server 64 ビット + JDK 1.4.2_08 (32 ビット) + LIBSTDC++.SO.6: プログラムの32ビット ライブラリを使用すると、「スレッド "main" java.lang で例外が発生しました」というエラーが返されます。 UnsatisfiedLinkError: /usr/lib/MySharedLibrary.so: /usr/lib/MySharedLibrary.so: 未定義のシンボル: NFQuality"
しかし、プログラムの64ビット ライブラリを使用すると、次のエラーが返されます。共有オブジェクト ファイルを開く: そのようなファイルまたはディレクトリはありません
MySharedLibrary があるパスを指定して java -Djava.library.path コマンドを実行しようとしましたが、うまくいきませんでした。
私の質問は:
Suse 9 32 ビットとまったく同じ構成であるのに、Suse 9 64 ビットでエラーが返されるのはなぜですか?
アーキテクチャに違いがあることは理解しています。しかし、64 ビットの RedHat 5.5 では動作するため、アーキテクチャのコンパイルの問題ではありません。
このパズルを解いてくれる人はいますか? 私の可能な解決策は何ですか?
そこにいるすべての達人に感謝します。