gcc 4.5 から gcc 4.6 に移動し、コンパイル時に使用されていないライブラリに対してリンクしなくなりました (つまり、シンボルがインポートされていない場合)。
ただし、これらのライブラリの目的は、静的コンストラクターを実行し、実行時にアプリで使用できるようにすることです (シンボルを登録します)。
-l でリストされたすべてのライブラリと gcc を強制的にリンクさせる方法はありますか?
-Wl,--no-as-needed
完全に無効にするには、どちらかが必要なようです。または、--no-as-needed -lfoo --as-needed
「必要に応じて」を無効にするだけですlibfoo
。
ソース: https://lists.ubuntu.com/archives/ubuntu-devel/2010-November/031991.html