2017-05-03 15 views
0

私はVS 2015にインポートしたVS 2010 C++/CLIプロジェクトを持っています。私が制御していないVS 2010 C++ライブラリとリンクしているため、VSでコンパイルする必要があります2010コンパイラ。プロジェクトをVS 2015にインポートしたとき、私はVSにプロジェクトをアップグレードしないように指示しました(正確なオプションは覚えていませんが、ソリューションエクスプローラのプロジェクト名(Visual Studio 2010))。私が使用しているライブラリのVisual Studio _MSC_VERとプラットフォームツールセット

Visual Studio Project Properties window showing Visual Studio 2010 (v100) selected for Platform Toolset

一つは_MSC_VER ISN場合は、エラーを表示し、いくつかのifdefsを持つヘッダがあります。プロジェクトのプロパティでは、プラットフォームのツールセットは、「Visual Studioの2010(V100)」と表示されていますサポートされているバージョンの1つ(Visual C++ 6.0-10.0)。このエラーはこのプロジェクトで生成されており、_MSC_VERがインテリセンスののビルド中にと表示されていることが判明しました(VS 2015のデフォルト)。

2010年版のC++コンパイラ(_MSC_VER 1600)でプロジェクトをビルドするにはどうすればよいですか?これは、プラットフォームツールセットのオプションが制御するものではありませんか?

+0

すべてのプロジェクトで「プラットフォームツールセット」がv100であることを確認してください。 – tambre

+0

@tambre、ありがとう。私は私のソリューション(残りはC#)に2つのC++プロジェクトしかなく、両方のC++プロジェクトにはv100に設定された「プラットフォームツールセット」があります。 – adv12

+0

procmonを起動して、MsBuildがcl.exeを見つけて起動する方法を確認します。 – noxmetus

答えて

1

Visual Studioで何が起こっているのか誤解しました。ビルドは実際にうまくいきました。生成されたエラーはIntellisenseから発生していました。 Visual Studioにknown bugがあり、Intellisenseがプロジェクトの選択したプラットフォームツールセットで指定された_MSC_VERを正しく反映していません。他の誰かがこの問題に遭遇した場合には質問を残しておきます。

関連する問題