web-dev-qa-db-ja.com

gccを使用して共有ライブラリをリンクする

WindowsターゲットでReal View Compiler Tools(RVCT 3.2)を使用して作成された共有ライブラリ(* .so)があります。次に、Linuxシステムでgccを使用して、この* .soファイルをアプリケーションにリンクしようとします。

この共有ライブラリをアプリケーションLinuxにリンクするgccオプションとは何ですか?

私の質問は、-sharedオプション。これは次のように使用されます

gcc -shared myfile.so

...、SOファイルを作成するため、またはSOファイルをリンクするために使用しますか?

gcc -lmyfile.so

これで十分ですか?または、それが動的ライブラリ(共有オブジェクト)であることをリンカーに伝える他のスイッチはありますか?

28
goldenmean

私のために働いたのは:

gcc -L. -l:myfile.so
29
mluc

gcc -lmyfileで十分です(ライブラリの名前がlibmyfile.so)。リンカは可能な場合に共有オブジェクトを検索し、AFAIKはそれらを優先します。

15
jpalecek