Nenhum SDK do Windows encontrado ao instalar o SpiderMonkey

1

Estou seguindo este guia para instalar o SpiderMokey.

Eu baixei e instalei o Visual Studio Community 2015 e reiniciei.
Eu baixei e instalei o pacote MozillaBuild.

Quando vou para c:\mozilla-build e executo start-shell-msvc2015.bat , diz

MozillaBuild Install Directory: C:\mozilla-build\
Visual C++ 2015 Directory: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\

No Windows SDK found. Exiting.

Press any key to continue . . .

Eu esperaria encontrar o Windows SDK, que eu suponho que acabei de baixar com o VS 2015, mas não é.

O que está procurando e como posso obtê-lo?

EDIT2:

Depois de instalar o Windows SDK 8.1 e tentar novamente, recebo este erro:

Unable to call a suitable vcvars script. Exiting.

Este é o script de instalação inteiro:

@ECHO OFF

SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

REM Reset some env vars and set some others.
SET CYGWIN=
SET INCLUDE=
SET LIB=
IF NOT DEFINED MOZ_NO_RESET_PATH (
  SET PATH=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem
)

REM mintty is available as an alternate terminal, but is not enabled by default due
REM to various usability regressions. Set USE_MINTTY to 1 to enable it.
IF NOT DEFINED USE_MINTTY (
  SET USE_MINTTY=
)

SET ERROR=
SET MOZILLABUILD=%~dp0
SET TOOLCHAIN=

REM Figure out if we're on a 32-bit or 64-bit host OS.
REM NOTE: Use IF ERRORLEVEL X to check if the last ERRORLEVEL was GEQ(greater or equal than) X.
SET WINCURVERKEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
REG QUERY "%WINCURVERKEY%" /v "ProgramFilesDir (x86)" >nul 2>nul
IF NOT ERRORLEVEL 1 (
  SET WIN64=1
) ELSE (
  REM Bail early if the x64 MSVC start script is invoked on a 32-bit host OS.
  REM Note: We explicitly aren't supporting x86->x64 cross-compiles.
  IF "%MOZ_MSVCBITS%" == "64" (
    SET ERROR=The MSVC 64-bit toolchain is not supported on a 32-bit host OS. Exiting.
    GOTO _QUIT
  )
  SET WIN64=0
)

REM Append moztools to PATH
IF "%WIN64%" == "1" (
  SET MOZ_TOOLS=%MOZILLABUILD%moztools-x64
) ELSE (
  SET MOZ_TOOLS=%MOZILLABUILD%moztools
)
SET PATH=%PATH%;%MOZ_TOOLS%\bin

REM Set up the MSVC environment if called from one of the start-shell-msvc batch files.
IF DEFINED MOZ_MSVCVERSION (
  IF NOT DEFINED VCDIR (
    REM Set the MSVC registry key.
    IF "%WIN64%" == "1" (
      SET MSVCKEY=HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\%MOZ_MSVCVERSION%.0\Setup\VC
    ) ELSE (
      SET MSVCKEY=HKLM\SOFTWARE\Microsoft\VisualStudio\%MOZ_MSVCVERSION%.0\Setup\VC
    )

    REM Find the MSVC installation directory and bail if none is found.
    REG QUERY !MSVCKEY! /v ProductDir >nul 2>nul
    IF ERRORLEVEL 1 (
      SET ERROR=Microsoft Visual C++ %MOZ_MSVCYEAR% was not found. Exiting.
      GOTO _QUIT
    )
    FOR /F "tokens=2*" %%A IN ('REG QUERY !MSVCKEY! /v ProductDir') DO SET VCDIR=%%B
  )

  IF NOT DEFINED SDKDIR (
    REM Set the Windows SDK registry keys.
    SET SDKPRODUCTKEY=HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Products
    SET SDKROOTKEY=HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Roots
    IF "%WIN64%" == "1" (
      SET WIN81SDKKEY={5247E16E-BCF8-95AB-1653-B3F8FBF8B3F1}
    ) ELSE (
      SET WIN81SDKKEY={A1CB8286-CFB3-A985-D799-721A0F2A27F3}
    )

    REM Windows SDK 8.1
    REG QUERY "!SDKPRODUCTKEY!" /v "!WIN81SDKKEY!" >nul 2>nul
    IF NOT ERRORLEVEL 1 (
      FOR /F "tokens=2*" %%A IN ('REG QUERY "!SDKROOTKEY!" /v KitsRoot81') DO (
        REM The Installed Products key still exists even if the SDK is uninstalled.
        REM Verify that the Windows.h header exists to confirm that the SDK is installed.
        IF EXIST "%%B\Include\um\Windows.h" (
          SET SDKDIR=%%B
        )
      )

      REM Bail if no Windows SDK is found.
      IF NOT DEFINED SDKDIR (
        SET ERROR=No Windows SDK found. Exiting.
        GOTO _QUIT
      )

      SET SDKVER=8
      SET SDKMINORVER=1
    )
  )

  REM Prepend MSVC paths.
  IF "%MOZ_MSVCBITS%" == "32" (
    REM Prefer cross-compiling 32-bit builds using the 64-bit toolchain if able to do so.
    IF "%WIN64%" == "1" IF EXIST "!VCDIR!\bin\amd64_x86\vcvarsamd64_x86.bat" (
      CALL "!VCDIR!\bin\amd64_x86\vcvarsamd64_x86.bat"
      SET TOOLCHAIN=64-bit cross-compile
    )

    REM LIB will be defined if vcvarsamd64_x86.bat has already run.
    REM Fall back to vcvars32.bat if it hasn't.
    IF NOT DEFINED LIB (
      IF EXIST "!VCDIR!\bin\vcvars32.bat" (
        CALL "!VCDIR!\bin\vcvars32.bat"
        SET TOOLCHAIN=32-bit
      )
    )
  ) ELSE IF "%MOZ_MSVCBITS%" == "64" (
      IF EXIST "!VCDIR!\bin\amd64\vcvars64.bat" (
        CALL "!VCDIR!\bin\amd64\vcvars64.bat"
        SET TOOLCHAIN=64-bit
      )
  )

  REM LIB will be defined if a vcvars script has run. Bail if it isn't.
  IF NOT DEFINED LIB (
    SET ERROR=Unable to call a suitable vcvars script. Exiting.
    GOTO _QUIT
  )
)

cd "%USERPROFILE%"
IF "%USE_MINTTY%" == "1" (
  START %MOZILLABUILD%msys\bin\mintty -e %MOZILLABUILD%msys\bin\console %MOZILLABUILD%msys\bin\bash --login
) ELSE (
  %MOZILLABUILD%msys\bin\bash --login -i
)
EXIT /B

:_QUIT
ECHO MozillaBuild Install Directory: %MOZILLABUILD%
IF DEFINED VCDIR (ECHO Visual C++ %MOZ_MSVCYEAR% Directory: !VCDIR!)
IF DEFINED SDKDIR (ECHO Windows SDK Directory: !SDKDIR!)
IF DEFINED TOOLCHAIN (ECHO Trying to use the MSVC %MOZ_MSVCYEAR% !TOOLCHAIN! toolchain.)
ECHO.
ECHO %ERROR%
ECHO.
PAUSE
EXIT /B
    
por Houseman 24.07.2015 / 21:12

3 respostas

1

Sobre o segundo problema, a resposta de Feugy está incorreta. Há um script vcvars no Visual Studio Community 2015. As ferramentas C ++ simplesmente não são instaladas com as configurações padrão! Certifique-se de marcá-los durante a instalação. Se você não fez, você sempre pode ir para add or remove programs > visual studio 2015 > modify .

    
por 07.01.2016 / 12:17
0

Talvez você deva instalar o VS 2013 (12.0) Update 3 ou posterior. Eu tive o mesmo problema, eu instalei o VS 2015 porque eu tinha o VS 2013 Update 1 e o VS 2015 não parece ter o script vcvars.bat.

Estranho que o script mozilla-build para o VS 2015 ainda precise disso ...

Uma vez que você instalou o VS 2013, você pode simplesmente ir em sua pasta \ VC \ bin e copiar o vcvars32.bat para a pasta do VS 2015 \ VC \ bin. Funcionou para mim (compilando o Firefox)

    
por 04.10.2015 / 11:23
0

No meu VS 2015 (edição da comunidade), não há vcvars32.bat , mas existe um vsvars32.bat , localizado na pasta \Common7\Tools .

Eu atualizei o mozilla-build\start-shell.bat de (linha 107):

  IF EXIST "!VCDIR!\bin\vcvars32.bat" (
    CALL "!VCDIR!\bin\vcvars32.bat"
    SET TOOLCHAIN=32-bit
  )

para:

  IF EXIST "!VCDIR!\..\Common7\Tools\vsvars32.bat" (
    CALL "!VCDIR!\..\Common7\Tools\vsvars32.bat"
    SET TOOLCHAIN=32-bit
  )
    
por 23.12.2015 / 08:46