• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:共有ライブラリへのパス指定の方法)

共有ライブラリへのパス指定の方法

このQ&Aのポイント
  • TurboLinux / C言語環境で共有ライブラリへのパス指定方法について教えてください。
  • 開発環境と実行環境での共有ライブラリのパス指定方法について、具体的なディレクトリの階層をもとに説明してください。
  • Cプログラミング経験はあるが、共有ライブラリの使用経験がないため、具体的な手順や注意点を教えてほしい。

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

  • ベストアンサー
  • salmoon
  • ベストアンサー率100% (1/1)
回答No.4

なるほど、パスとファイル名の問題が重なっていたんですね。 参考URLのページによると、リンカーはライブラリサーチ時の拡張子をsoに決めうちしているようです。なので拡張子slだとリンクできないのだと思われます。 同ページ内にあるように、ldd コマンドを使って実行ファイルの依存性を調べるとわかるのではないでしょうか。おそらくlib_k.so を要求していると思います。

参考URL:
http://www-6.ibm.com/jp/developerworks/linux/050204/j_l-shlibs.html

その他の回答 (3)

  • salmoon
  • ベストアンサー率100% (1/1)
回答No.3

暫定策ですが、コマンドラインから LD_LIBRARY_PATH=/ppc/lib/lib_k.sl 実行ファイル名 としてみたらどうでしょうか?

taku_pan
質問者

お礼

ありがとうございます。 色々と試していたのですが、  ・PATH変数、ldconfig でパスを通す  ・拡張子を *.sl → *.so に変更 とすれば実行できるようです。 何故なんでしょうか・・・。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

ld のオプションの, -L とか -R とかを駆使すればできないかなぁ?

taku_pan
質問者

お礼

ありがとうございます。 オプションも調べてやってみましたが、まだできていません・・・。

  • ganzou
  • ベストアンサー率29% (25/85)
回答No.1

環境変数PATHに、共有ライブラリのパスを通せばいいんじゃないのかな? もしくは同じディレクトリにおく。

taku_pan
質問者

お礼

回答ありがとうございます。 パスを通しても、同じディレクトリに置いても、 どうやらメイクの際のパスを表示して、エラーとなります。 メイクの際のパス記述が悪いか、 なにか足りないのでしょうか・・・?

関連するQ&A