2012-01-18 8 views
0

単純な質問の種類ですが、アプリケーションをコンパイルするときに、ユーザーがすべてのdll /共有オブジェクトを必要とせず、スタンドアロンの実行可能ファイルを1つだけ持つことができるようにしたいと考えています。これはどうすればいいですか? MakefileまたはCodeBlocksの設定のいずれか。dllとアプリケーションをどのように組み合わせますか?

+1

あなたはどのプラットフォームにいますか? – Andre

+0

これはおそらくオペレーティングシステム固有のものです。あなたはあなたの質問にWindowsとしてのみタグを付けることができます! Linuxでは、おそらくもっと簡単になるでしょう(例えば静的リンクによって)。そして、私は実行可能ファイルの中にすべてのファイルをパッケージ化することをお勧めします... –

答えて

3

ソースがある場合、または適切な種類の.libファイルがある場合は、静的にリンクできます。ただし、DLLには.libファイルが付いていることもあります。そのファイルは、DLLを呼び出すためのシムです。静的にリンクできる場合は、単一の実行可能ファイルが必要です。

それ以外の場合は、インストールディレクトリを作成し、DLLを実行可能ファイルと同じディレクトリに配置します。それが最も簡単な方法です。

DLLを実行可能ファイルに挿入して、DLLのように動作するカスタムローダーを作成するトリックがあるかもしれませんが、実際にはそのパスを使用したくありません。

3

ソースコードをお持ちの場合は、DLLの代わりに静的リンクライブラリを使用できます。

関連する問題