同じ問題に関連する 2 つの問題があります。
`pwd`/lib に保存された共有オブジェクトがあり、それを使用する実行可能ファイルは (-l および -L スイッチを使用して) 正常にコンパイルされますが、実行時に悲しみを覚えます。実行しようとすると、正常に動作
LD_LIBRARY_PATH=/my/absolute/path/to/library/directory ./test
します。しかし、LD_LIBRARY_PATH=/my/absolute/path/to/library/directory をエクスポートして実行./test
すると、共有ライブラリが見つからないと表示されます。しかし、もう一度やるとうまくいきますLD_LIBRARY_PATH=$LD_LIBRARY_PATH ./test
!! 私が間違っていることについてのアイデアはありますか?2 番目の問題は、LD_LIBRARY_PATH 環境変数のエクスポートに関連しています。ターミナルを開いて入力
export LD_LIBRARY_PATH=/path/to/stuff
してから入力echo $LD_LIBRARY_PATH
すると、変数は正しいです。ただし、export コマンドを含むスクリプトを作成した場合、単純に実行するだけでは変数は更新されません。代わりに、source install.sh
実際に変数を永続化するために実行する必要があります。これに対する最善の解決策は何ですか?
お時間をいただきありがとうございます!