• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:libで始まらない so のリンク)

Linuxでのプラグインリンクに関する問題

このQ&Aのポイント
  • LinuxのCent OS 6.4(32bit)で、特定の命名規則に従っているプラグインをリンクする際に問題が発生しています。
  • プラグインの機能を継承して新しいプラグインを作成する必要があります。
  • 命名規則に従っていないプラグインのリンク方法を探しています。

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

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

ld -shared -o foo.so -soname foo.so ........ ld -shared -o bar.so ../foo/foo.so ........ ポイントはリンクされる側のライブラリを作成するときにsonameを指定することです。 あと、余談ですが、Linuxであれば ld コマンドを直接叩くのではなく、 gcc -shared を使いませんか? gcc -shared -o foo.so -soname foo.so ........ gcc -shared -o bar.so ../foo/foo.so ........ ついでに、共有ライブラリに使用する.oファイルを作成するときは、 -fPICオプションをお忘れなく。 gcc -c hoge.c -fPIC -o hoge.o

tknakamuri
質問者

お礼

ありがとうございます。解決しました。 まとめると。 ■-soname オプションで so に soname が埋め込むことができる。 ■soname が埋め込まれた so をリンクすると、 ロードする soは、指定したsoのファイル名ではなく 指定したsoに埋め込まれたsoname になるということですね。

関連するQ&A