プロジェクトの標準ライブラリを静的にリンクしようとしています。SO および他のサイト ( http://www.trilithium.com/johan/2005/06/static-libstdc/ )のさまざまなスレッドから静的リンク オプションのいくつかのバリエーションを試しましたが、いずれも望ましい結果が得られませんでした。 .
これが私の現在のフラグ設定です:
g++ -Wall -g -static-libgcc -static-libstdc++ -Iinclude -std=c++11
私も試しました:
g++ -Wall -g -Wl,-Bstatic -lstdc++ -std=c++11
これらのバリエーションのいずれかを使用すると、ldd
stillの出力は次のようになります。
linux-gate.so.1 => (0xb77b1000)
libstdc++.so.6 => /lib/libstdc++.so.6 (0x4e085000)
libm.so.6 => /lib/libm.so.6 (0x4daf0000)
libgcc_s.so.1 -> /lib/libgcc_s.s0.1 (0x4dd1f000)
libc.so.6 => /lib/libc.so.6 (0x4d90a000)
/lib/ld-linux.so.2 (0x4d8e7000)
実行file
すると、動的にリンクされたバイナリであることもわかります。Fedora 18、Ubuntu 12.04、CentOS などの複数のディストリビューションでこれを試しましたが、役に立ちませんでした。