切り替え - vs2017 c++




ビジュアルスタジオのC++プロジェクトをどのようにパック化してリリースしますか? (4)

私はどのように.exeにすべての必要なdllファイルを含むリリースビルドを作るのだろうかと思っているので、ターゲットマシンに再頒布可能なマイクロソフトをインストールしなくても、非開発マシンでプログラムを実行することができます。

これを行わないと、アプリケーション構成が正しくないというエラーメッセージが表示され、再インストールします。


あなたは静的リンク(ダイナミックリンクとは対照的に)を探しています

MS再配布可能ファイルのどれくらいが静的にリンクされているのかよく分かりません。


あなたのターゲットマシンが見つからない場合は、MSDevに付属していたdepends.exeを使用してください 。ただし、 ここにもあります 。 これをいくつかのターゲットマシンでテストすると、アプリケーションと一緒にパッケージ化する必要のあるdllを知ることができます。


マイクロソフトでは 、重要なセキュリティバグを修正するためにWindows Updateによってサービスが提供されないように、 ランタイムをプロジェクト静的にリンクすることはお勧めしません 。 また、メインの.exeファイルと.dllファイルの間にメモリを渡すと、これらの静的リンクが実行時にmalloc / freeの不一致の問題を引き起こす可能性があります。

実行可能ファイルにDLLを含めるには、.exeファイルにコンパイルせずに、redistツールを実行しないでください。これは私が行うことであり、正常に動作するようです。

軟膏の唯一の飛行は、広範囲のWindowsバージョン用に配布する場合は、ファイルを2回インクルードする必要があることです。新しいOSではマニフェスト定義のディレクトリにファイルが必要で、古いものはプログラムディレクトリ内のすべてのファイルが必要です。


  1. プロジェクト - >プロパティを選択します。
  2. 「構成」 - >「一般」を選択します
  3. MFCをリンクする方法のボックスで、静的リンクを選択します。
  4. リンカ - >入力を選択します。 [ 追加の依存関係]で 、静的にリンクするアプリケーションが必要なライブラリを追加します。




visual-studio