2013-10-31 14 views
14

リビジョンファイルをmsvcr100に変更して、.dllファイルに問題なく他のコンピュータでプログラムを実行できるかどうかを確認します。もしそうなら、私はそれをどうやって得るのですか?Visual Studio 2013 msvcr120〜msvcr100

私はプログラムをコンパイルしていますが、他の人はmsvcr120.dllファイルがないため使用できません。それで私が何とかそれを変えることができれば素晴らしいだろう。

旧バージョンのVisualstudioを使用せずにPlattformtoolsetをインストールすることはできますか?

+1

マシンにmsvcr100.dllがインストールされていない場合、どうなると思いますか?他の製品のインストーラの優しさに応じて避けてください。そして実際にあなたのためにそれを行うインストーラが必要であると仮定しないでください。あなた自身のバイナリと共にmsvcr120.dllと友人を同じディレクトリにコピーしてください。 –

答えて

29

あなたは、いくつかの選択肢があります。

  1. マシン上でVS2010をインストールし、V100のプラットフォームツールセットオプションを設定します。
  2. hereからWindows SDK v7.0Aをインストールしてください.VS2013のPlatform Toolsetメニューに新しいオプションを追加する必要があります。これを動作させることは、かなり面倒なことになります。 (それはまれに私のために働くことはほとんどありません)。アプリケーションでMFCを使用する場合、このオプションはあなたには良いことではありません - このSDKにはMFCライブラリは含まれていません。
  3. ユーザーにhereからMicrosoft VS 2013 C++再頒布可能パッケージをインストールしてもらうことができます。
  4. ランタイムDLLへの動的リンクを使用する代わりに、静的にVS2013ランタイムにリンクします。プロジェクト設定でC/C++ > Code Generation > RunTime Library > Multi-threaded (/MT)または(/MTd)の下でこれをIDEで設定できます。必要なコードはすべてあなたのアプリケーションにコンパイルされ、ファイルが大きくなりますが、あなたが言及した問題は避けられます。
+6

最初に4)で解決しました。どうもありがとう! – BennX

+1

@ lolando C/C++>コード生成>ランタイムライブラリで、静的/動的&デバッグ/リリースの4つの選択肢があります。静的リリースは/ MT、静的デバッグは/ MTd – Baldrick

+1

ありがとう。たぶんそれを答えに加えてください。 – BennX

2

Project > Properties > Generalには、Platform toolsetという設定があります。これを使用して、使用されているビルドツールチェーンのバージョンを変更することができます。

screenshot

+1

であり、Visual Studio 2010もマシンにインストールする必要があります。 – Benoit

+0

私は実際にプラットフォームのツールセットを取得するために実際に2010年もインストールする必要があります。または私はvs2010なしでそれを得るか – BennX

1

platform toolsetを変更に関しては考慮すべき一つのこと:それは、Visual Studio 2010がコンパイルされませんより新しいをコンパイラを変更するので、C++の機能。また、他のバージョンをインストールする必要があります。

最高のこれを処理する方法は、それらにVisual C++ Redistributable for Visual Studio 2013を与えることです。

自分でやってもらったり、インストーラを作ったりできます。

+1

または静的にリンクします... – JBentley

+0

@JBentley真実ですが、私はそれが必要なdllをインストールする方が簡単だと思います。一度やってください。これや他のアプリケーションをビルドするためにあなたは完了です。 – crashmstr

+1

私はあなたのプロジェクトに依存していると思います。外部依存関係にあまり依存していない場合は、静的リンクに切り替えるだけで、プロジェクトファイルの単一の設定を変更するだけです。ビルドプロセスを変更して再配布可能ファイルを組み込むよりもずっと簡単です手動では貧弱な設計IMOです)。 – JBentley

関連する問題