WindowsターゲットでReal View Compiler Tools(RVCT 3.2)を使用して作成された共有ライブラリ(* .so)があります。次に、Linuxシステムでgccを使用して、この* .soファイルをアプリケーションにリンクしようとします。
この共有ライブラリをアプリケーションLinuxにリンクするgccオプションとは何ですか?
私の質問は、-shared
オプション。これは次のように使用されます
gcc -shared myfile.so
...、SOファイルを作成するため、またはSOファイルをリンクするために使用しますか?
gcc -lmyfile.so
これで十分ですか?または、それが動的ライブラリ(共有オブジェクト)であることをリンカーに伝える他のスイッチはありますか?
私のために働いたのは:
gcc -L. -l:myfile.so
gcc -lmyfile
で十分です(ライブラリの名前がlibmyfile.so
)。リンカは可能な場合に共有オブジェクトを検索し、AFAIKはそれらを優先します。