• ベストアンサー

バージョンの違うライブラリを適宜使い分けたい

linux上にて、バージョンの異なるライブラリをインストールしております。このライブラリを用いて、コンパイル・実行をする際に、バージョンの違うライブラリを適宜使い分けたいのですが、どのようにすると効率的でしょうか? makeを使ってコンパイルしていますが、コンパイルの際に静的リンクを行うのが良いでしょうか?それとも、動的リンクにしておき、実行時にLD_LIBRARY_PATHを設定しなおして動かすのが良いでしょうか?あるいは、上記以外に方法があればアドバイスをもらえればと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.2

やり方としてはお書きの2パターンしかないと思います。 プログラムの個数が少なければ静的リンクで、多ければ動的リンクでしょうか。 動的リンクの場合、あらかじめ何パターンかのLIBPATHnという環境変数を設定しておき、bashのaliasを使って、 alias prog1='LD_LIBRARY_PATH=$LIBPATH1 prog1' のようなのを沢山定義する。

amu
質問者

お礼

ありがとうございます。 静的リンクの場合、特定のライブラリだけを静的リンクという指定の仕方は可能でしょうか?コンパイラによりますでしょうか・・・

その他の回答 (2)

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.3

No.1 すみません。単なるタイプミスです。

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.1

必要な環境変数(LD_LIBRARY_DAT等)に値をセットしたあと makeを実行するシェルを2つ(必要な数分??)作るるに1票

amu
質問者

お礼

ありがとうございます。 LD_LIBRARY_DATというのは、LD_LIBRARY_PATHとはまた違うものでしょうか?

関連するQ&A

専門家に質問してみよう