fresh Visual Studio 2013 Proでfresh Windows 8.1 Pro x64をインストールしています。プラットフォームツールセットを使用してプロジェクトをWindows7.1SDKにコンパイルしようとすると、
Error 1 error MSB6006: "CL.exe" exited with code -1073741515. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.targets 57 5 MenuBrowser
付属の「Windows SDK構成ツール」を実行してみたところ、Visual Studio 2005および2008がインストールされていないというエラーが表示されるだけでなく、うまく機能したと思います。
レジストリを手動で編集してみました:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows
CurrentInstallFolder
を手動でC:\Program Files\Microsoft SDKs\Windows\v7.1\
およびCurrentVersion
as 7.1.7600.0.30514
。プロジェクトのプロパティを確認し、そこにあるさまざまなパス/変数をクリックすると、$> WindowsSdkDirが正しいことがわかります。
私が何を試すべきかについて何か考えはありますか? Windows 7とVS 2012を搭載した古い開発コンピューターでこの問題に遭遇したことはありません。
L.E.メモとして、v120ツールを使用して新しいプロジェクトを試しても機能しますが、Windows7.1SDKツールが必要です。
プラットフォームツールセットを使用してプロジェクトをWindows7.1SDKにコンパイルしようとすると...
これは、VS2013の「新規」インストールでは有効な選択ではありません。あなたが何をしていたのかははっきりしていません、それは確かにもはや「新鮮」ではありません。 Regedit.exeを読み込まれた武器として扱います。VSを構成するレジストリキーセットは、最近、かなり複雑になっています。
-1073741515 == 0xC0000135 == STATUS_DLL_NOT_FOUNDでコンパイラがクラッシュします。もちろん、これはかなり深刻な事故です。SDK7.1を対象とする場合は、neverが発生するはずです。これは、同じコンパイラを使用しているため、SDKディレクトリのみが変更されるためです。コンパイラ自体と、それが使用するDLLはSDKの一部ではなく、マシンにVSがインストールされていない場合にのみ提供されます。 SysInternalsのプロセスモニターを使用してこれを診断できます。CL= EXEプロセスがDLLを検索していて、それが見つからないことがわかります。
7.1をターゲットにする正しい方法は、v120_xpツールセットの選択を使用することです。これにより、XPで実行可能なプログラムが構築され、マシンにインストールされている7.1A SDKも自動的に選択されます。行った変更を取り消すようにしてください。
Windows SDKを使用して、VS2008を使用せずにVS2012でv90プラットフォームツールセットを使用してビルドする方法 からYodansソリューションを参照していますか? :
Hans Passantが指摘したように、cl.exeはmspdb100.dllを探しますが(特に)、それらは見つかりません。必要なファイルは、以下の7.に記載されているディレクトリにあります。
私の作業セットアップ:
私がした間違い:
次の手順は、VS 2017で私のために機能します。
1. VS 2017を閉じます。2.マシンを再起動します。 3. VS 2017でソリューションを開きます。4.プロジェクトをビルドします。今回は、次のエラーが発生せず、正常にビルドされます。
エラーmsb6006 "link.exe"はコード-1073741819で終了しました。