Microsoft.Cpp.Win32.Targets(57,5): error : Required file "" is missing

    技术2024-12-08  20

    定位到文件的出错行:

    <CL Condition="'%(ClCompile.PrecompiledHeader)' == 'Create' and '%(ClCompile.ExcludedFromBuild)'!='true'"

     

    猜想是找不到编译器,运行Windows SDK 7.1 Command Prompt,从命令行下编译通过。

    猜想是sdk设置不正确,改为v100

     编译没有问题,基本确定是widnows7.1sdk的设置问题。

     打开C:/Program Files (x86)/MSBuild/Microsoft.Cpp/v4.0/Platforms/Win32/PlatformToolsets/Windows7.1SDK路径下的

    Microsoft.Cpp.Win32.Windows7.1SDK.props,里面有些信息,诸如:

    <PropertyGroup>    <VCInstallDir>$(Registry:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/10.0/Setup/VC@ProductDir)</VCInstallDir>    <VCInstallDir Condition="'$(VCInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/VisualStudio      /10.0/Setup/VC@ProductDir)</VCInstallDir>    <VCInstallDir Condition="'$(VCInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VCExpress/10.0/Setup/VC@ProductDir)</VCInstallDir>

     

    可以得知visual studio ide 所取得的sdk配置是从注册表中取得的。

    搜索注册表"V7.1",(下面只列出其中两条信息):

    [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v7.1]"InstallationFolder"="C://Program Files//Microsoft SDKs//Windows//v7.1//""ProductVersion"="7.1.7600.0.30514""ProductName"="Microsoft Windows SDK for Windows 7 (7.1.7600.0.30514)"

     

    [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v7.1/WinSDKBuild]"InstallationFolder"="D://Developkit//WinSDK//v7.1//""ProductVersion"="7.1.7600.0.30514""ComponentName"="Microsoft Windows SDK Headers and Libraries"

     看来是安装sdk时选择了不同的盘符(第一次安装失败,后面安装时选择了D盘)导致这样的错误。

    修复步骤如下:

    1、将不同文件夹下的文件合并到想设定的目录

    2、修改注册表与sdk相关的路径信息("V7.1"),将安装路径修改成第一步中的目标文件夹。

    最新回复(0)