web-dev-qa-db-ja.com

Visual Studio 2015 CommunityにVisual Studio Build Tools 2010をインストールする方法は?

Visual Studio 2010でプロジェクトを作成しました。VisualStudio 2015 Communityエディションでプロジェクトを実行しようとすると、次のエラーが表示されます。

重大度コード説明プロジェクトファイルラインエラーMSB8020 Visual Studio 2010のビルドツール(プラットフォームツールセット= 'v100')が見つかりません。 v100ビルドツールを使用してビルドするには、Visual Studio 2010ビルドツールをインストールしてください。または、[プロジェクト]メニューを選択するか、ソリューションを右クリックして[ソリューションの再ターゲット]を選択することにより、現在のVisual Studioツールにアップグレードできます。グラフィックC:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets 55

そして、Visual Studio 2015 Build Toolsでビルドしようとすると、約1500以上のエラーが発生しました。

enter image description here

プロジェクトを機能させる方法はありますか?

17
Gal Fridman

VS2010をインストールできない場合、 Windows 7用Windows SDK に必要なコンパイラツール(v100)が含まれている場合、実際にはSDK自体のインストールをスキップして、コンパイラツール、ヘッダー、およびライブラリのみをインストールできます。 Windows SDKに含まれているコンパイラはVS2010と同じですが、VS2010 SP1には少し新しいコンパイラがあります。必要な場合は、 Windows SDK 7.1用Microsoft Visual C++ 2010 Service Pack 1コンパイラー更新プログラム もインストールする必要があります。ただし、これらをインストールする場合、VS2010をインストールすることにした場合、後で問題が発生する可能性があることに注意してください。インストーラにはバグがあり、コンポーネントを厳密な順序でインストールする必要があります。また、コードでMFCまたはATLを使用する場合は、VS2010をインストールする必要があります。WindowsSDKをインストールするだけでは不十分です。

23
Paul

VS 2010をインストールしてプロジェクトをビルドするか、プロジェクトをアップグレードします。 VS 2015カスタムインストールオプションを使用すると、v120プラットフォームツールセットをインストールできますが、v110またはv100プラットフォームツールセットはインストールできません。

VS 2015の大きな変更点の1つは、C++ツール(つまりv140が標準インストールオプションによってインストールされないことです。 Visual C++ Team Blog を参照してください。

Visual C++ 2010はC++ 0x Draft Standardを使用し、Visual C++ 2015はExpression SFINAE( Update 1に一部含まれている)を除きC++ 11 Standardに適合していることに注意してください。 )、そのため、いくつかの重大な変更を含む、かなりの期間がこの数年間で変更されました。一度に3つのメジャーリリース(および約10のマイナーアップデート)をジャンプしているため、特にすべての新しい警告を処理すると、少し圧倒されます。

留意すべきもう1つのことは、Visual C++ 2010ではWindows 7.1 SDKを使用し、Visual C++ 2012以降ではWindows 8.x SDKを使用することです。特にDirectX開発では、多くの変更が行われています。 Windows 8.x SDKは、以前のWindows SDKのように「最も古いサポート対象プラットフォーム」にデフォルト設定されないため、ターゲットプラットフォームに_WIN32_WINNTプリプロセッサ定義を設定することは、Windowsデスクトップアプリにとって特に重要です。 Windowsヘッダーの使用 をご覧ください。

VS 2010およびv100ツールセットは、Windows XPおよびWindows Server 2003のターゲット設定をサポートしています。v140ツールセットは、Windows XP/Server 2003のターゲット設定をサポートしていません。代わりにv140_xp Platform Toolsetを使用します。 this post を参照してください。これは、_xpツールセットでWindows 8.x SDKではなくWindows 7.1 SDKを再び使用していることを意味します。

Visual C++ 2012 での変更点の変更、 Visual C++ 2013 での変更点の変更、および Visual C++ 2015の重大な変更

C++ 11/14/17機能のサポート(モダンC++) 、および DirectX SDKはどこにありますか?

VS 2010とVS 2015の両方でコードをビルドする必要がある場合は、それぞれに1つずつ、2つのプロジェクト/ソリューションファイルを作成する必要があります。また、複数のVisual C++ツールセットを使用してビルドできるコードの作成に関する注意事項については、 この記事 を読むこともできます。これもWindows SDKの変更により特に困難です。

VS 2015は、Windows Vista SP2、Windows 7 SP1、Windows 8.0、Windows 8.1、Windows 10、およびオプションでWindows XP SP3のターゲット設定をサポートしています。 Windows Vista RTM、Windows Vista SP1、またはWindows 7 RTMを対象とするはサポートしていません

10
Chuck Walbourn