2011-07-25 9 views
3

QtライブラリをコンパイルしたスタンドアロンLinuxアプリケーションを出荷しています。アプリケーションで使用されていないものを削除するためにQtライブラリを削除するにはどうすればよいですか?

私のソースコードをスキャンし、自分のアプリケーションが使用するクラス/メソッドを調べるツールがありますか?Qtソースコードから不必要な/未使用のものを抜き出し、アプリケーションに合わせてカスタマイズしたQtライブラリをコンパイルします。余分な肥大?もちろん、これは最良のシナリオです。 しかし、コンパイルされたqtライブラリをできるだけスリムにして、Linuxスタンドアロンのアプリケーションを作ることができる最も近い既存のソリューションは何ですか?

答えて

8

私のソースコードをスキャンするツールがあります。私のアプリケーションが使用するクラス/メソッドを見て、不要な/未使用のものをQtソースコードから抜き出し、Qtライブラリをコンパイルします。余分な膨らみがないアプリケーションですか?

リンカーはすでにこれを行います。 Qtライブラリに静的にリンクしている場合は、呼び出している関数のコードだけが実行可能ファイルに埋め込まれます。

これを行うには、外部ソフトウェアは必要ありません。 Qtライブラリがあなたの開発マシンにどれだけ大きなものであるかは関係ありません。

+0

完全に真実ではありません。 PNGまたはJPEGローダーのような特定のプラグインが実際に使用されているかどうかを100%検出するために、リンカでなくてもツールは使用できません。読み込まれたファイル名をチェックする必要があります。リンカーは試してみません。 – MSalters

0

あなたのプログラムのサイズをさらに増やすには、UPXを試してみてください。これにより、アプリケーションがさらに小さくなります。

関連する問題