3

C# アプリケーションで使用する VS2008 で dll を作成しましたが、ユーザーは .NET フレームワークと VC++ ランタイムの両方が必要であるという事実を気に入りません。

C++ dll で「必須」の VC++ ランタイムを回避する方法はありますか?

4

3 に答える 3

10

静的にリンクされたランタイムを使用して dll をビルドできます (/MD ではなく /MT - [プロパティ] -> [構成プロパティ] -> [C/C++] -> [コード生成] -> [ランタイム ライブラリ] の下)。

于 2009-04-24T16:18:05.517 に答える
3

静的ランタイム ライブラリを dll にリンクできます。この方法では常に存在し、C++ ランタイムを含む .dll は必要ありません。

于 2009-04-24T16:17:41.443 に答える
1

他の人が言ったように、静的にリンクすることはできますが、静的にリンクされていないサードパーティのC ++ dll(ほとんどすべて)を組み込むと、それは悪夢になります。そのシナリオでは、ランダムなクラッシュが発生し、デバッグに永遠に時間がかかります。最も簡単な方法は、これをユーザーから隠すインストーラーを使用することです。vsインストーラーを使用する場合はマージモジュールを使用するか、nsisインストールの一部としてインストールできます。これにより、すべての人の生活が楽になります。特にあなたのもの。.NET Frameworkのインストールに反対するのと同じように、これらのインストールに反対する理由はありません。あなたがそれらを必要とし、それらを持っていない限り、それは安定性の点で違いはありません。

于 2009-04-24T16:31:51.083 に答える