2013-02-12 6 views
13

supertuxkartやregnum onlineのようないくつかのLinuxアプリは静的なバイナリを持っています。共有バイナリをダウンロードした後、共有ライブラリをインストールする必要はありません。すべてのディストリビューションで。どうすればそのようなアプリを作ることができますか?すべてのディストリビューションで動作する静的バイナリを作成するには?

答えて

14

すべてのリソースが実行可能ファイルに含まれていることを確認し、静的に実行可能ファイルをリンクされていますが、これも欠点があり

gcc -o foo main.o -static -lbaz -lbar 

を。ダイナミックリンクを参照してください。

+1

lib Bをリンクする静的なlib Aをリンクすると、lib Bもリンクする必要がありますか? – user1873947

+0

@ user1873947:静的にリンクすると、ライブラリは他のライブラリを参照することができません。コマンドラインでそれらの名前をすべて指定するか、 'libtool'を使用する必要があります。 – thiton

+0

大丈夫です。バイナリの場合は、libsが何を共有しているかを示すlinuxコマンドがありますが、libsのようなものはありますか?私がリンクする必要があるものを確認する。 – user1873947

関連する問題