2016-05-13 14 views
0

私はMicrosoft Visual Studio C++でプログラムを作成し、SFMLを使用しました。プログラムに必要な正しい.dllファイルを含め、それらを「リリース」フォルダにコピーしました。出来た。私のコンピュータではプログラム全体が完璧に機能しましたが、別のコンピュータで実行しようとすると、Missing "MSVCP140.dll"Missing "VCRUNTIME140.dllとなりました。別のコンピュータで.exe-Fileを実行しているときに「Missing MSCVP140.dll」と「VCRUNTIME140.dllがありません」

私はこのプログラムの解決策を探して、 "プロジェクト>プロジェクト設定に移動> C/C++>コード生成>ランタイムライブラリ>マルチスレッド(/ MT)に切り替えました。設定と実行可能ファイルのサイズが増えました。これは、サポートされていない.dllファイルがもうないため、正常であると言いました。

しかし、私は再び新しい.exeを試してみましたが、 -Dll-Filesをコンピュータにインストールせずにこれを解決する方法はありますか?

+0

他のマシンで実行する必要があるのは、使用しているVisual Studio用の適切なvcredistをインストールすることです。 – crashmstr

+0

@crashmstrありがとう、私はそれを試してみましょう。しかし、何かをインストールせずにexeを実行できる方法はありますか? – D4RKS0UL23

答えて

1

これはMSDNで詳しく説明されています。Deployment in Visual C++

を参照してください。

あなたは本当に3つの選択肢があります。

  • のDLLの「集中管理」のバージョンを使用します。 VS2015の場合はVCREDIST_*.EXEパッケージを実行するセットアッププログラムが必要です。また、MSIベースのセットアップを使用する場合は、提供されるMSMファイルを使用できます。

  • プログラムの一部として必要なDLLをコピーします。これは、あなたのインストーラやzipファイル、またはEXEを持っているものにも必要なDLLが含まれていることを意味します。これは、 "コピーアンドラン"スタイルの展開が必要な場合は最適ですが、DLLのすべてのセキュリティサービスが問題になります。

  • スタティックリンクを使用してください。セキュリティの観点からは、これは最も望ましくない解決策であり、実際にはインストーラを書く特定のケースでのみ使用する必要があります。アプリをインストールするプログラムが最初に実行されなければなりません。

ターゲットマシンで実行されているWindowsのバージョンを指定していません。それはサポート対象外だとして、VS 2015はないサポートWindows 7のRTMを行いますが、それは、Windows VistaのService Pack 2、Windowsの8.xの、およびWindows 10

と一緒にWindows 7のサービスパック1をサポートし、我々ながらWindows 8.0もサポートしていないことに注目しています。これらのユーザーは、Windows 8.1 UpdateまたはWindows 10にアップグレードする必要があります。

+0

Man、ありがとう、2つのエラーは今行っていますが、次の問題が発生しました: "アプリケーションを正しく開始できませんでした(0xc00007b)"。 私はWindows 10で実行しようとしましたが、このエラーが発生する唯一のOSであるかどうかはわかりません。私はそれを疑います。あなたはこれを修正する方法を知っていますか? – D4RKS0UL23

+0

デバッグセッションを設定して、何が起きているのかを調べる必要があります。 –

+0

これは私をどこにも連れてこなかった。他のアイデア? – D4RKS0UL23

関連する問題