Bei der Installation von SpiderMonkey wurde kein Windows SDK gefunden

1313
Houseman

Ich befolge dieses Handbuch, um SpiderMokey zu installieren.

Ich habe Visual Studio Community 2015 heruntergeladen und installiert und dann neu gestartet.
Ich habe das MozillaBuild-Paket heruntergeladen und installiert.

Wenn ich gehe c:\mozilla-buildund renne start-shell-msvc2015.bat, heißt es

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 . . . 

Ich würde erwarten, dass es das Windows SDK findet, das ich gerade mit VS 2015 heruntergeladen habe. Dies ist jedoch nicht der Fall.

Was sucht es und wie bekomme ich es?

EDIT2:

Nach der Installation des Windows SDK 8.1 und einem erneuten Versuch erhalte ich folgende Fehlermeldung:

Unable to call a suitable vcvars script. Exiting. 

Hier ist das gesamte Installationsskript:

@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= ) ELSE ( SET WIN81SDKKEY= )  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 
1
Welche Version brauchst du? Sie befinden sich alle auf der Website von Microsoft. Ramhound vor 8 Jahren 0
@Ramhound Ich habe VS Community 2015 heruntergeladen. Ist das nicht oder sollte es nicht das "Windows SDK" enthalten? Houseman vor 8 Jahren 0
Wahrscheinlich nein; Aber das war nicht meine Frage ... welche Version erwartet das Build-Skript? Ramhound vor 8 Jahren 0
@Ramhound Offenbar Windows SDK 8.1 Houseman vor 8 Jahren 0
[Download] (https://msdn.microsoft.com/en-us/windows/desktop/bg162891.aspx) VS2015 würde das 8.1-SDK nicht installieren, sondern [Win 10 SDK] (https://dev.windows.com) / de-de / downloads / windows-10-entwickler-tools) Ramhound vor 8 Jahren 1
@Ramhound nach dem Download und der Installation Ich bekomme eine neue Fehlermeldung: `Ein geeignetes Vcvars-Skript kann nicht aufgerufen werden. Beenden.` Houseman vor 8 Jahren 0
klingt wie das Skript eine frühere Version von VC ++ erwartet Ramhound vor 8 Jahren 0

3 Antworten auf die Frage

1
toster-cx

Was das zweite Problem angeht, ist Feugys Antwort falsch. vcvarsIn Visual Studio Community 2015 gibt es ein Skript. C ++ - Tools werden einfach nicht mit den Standardeinstellungen installiert! Stellen Sie sicher, dass Sie sie während der Installation ankreuzen. Wenn nicht, können Sie immer zu gehen add or remove programs > visual studio 2015 > modify.

0
paulolol

Vielleicht sollten Sie nur VS 2013 (12.0) Update 3 oder höher installieren. Ich hatte das gleiche Problem, ich habe VS 2015 installiert, weil ich VS 2013 Update 1 hatte und VS 2015 das Skript vcvars.bat nicht zu haben scheint.

Seltsam, dass das Mozilla-Build-Skript für VS 2015 dies noch benötigt ...

Wenn Sie VS 2013 installiert haben, können Sie einfach in den Ordner \ VC \ bin wechseln und die Datei vcvars32.bat in den VS 2015-Ordner \ VC \ bin kopieren. Es hat für mich funktioniert (Firefox kompilieren)

0
Feugy

Auf meinem VS 2015 (Community Edition) gibt es keinen vcvars32.bat, aber einen vsvars32.bat, in \Common7\ToolsOrdner.

Ich habe die mozilla-build\start-shell.batvon (Zeile 107) gepatcht :

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

zu:

 IF EXIST "!VCDIR!\..\Common7\Tools\vsvars32.bat" ( CALL "!VCDIR!\..\Common7\Tools\vsvars32.bat" SET TOOLCHAIN=32-bit )