Kääntäminen Windowsille
- Lataa
uv,chocojarustup- Valitse Quick install via the Visual Studio Community installer
- Varmista Visual Studio Installerissa, että seuraavat komponentit on asennettu:
- Windows 10/11 SDK (anything >= 10.0.19041.0) (
Microsoft.VisualStudio.Component.Windows{10, 11}SDK.{>=19041}) - MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) (
Microsoft.VisualStudio.Component.VC.Tools.x86.x64) - C++ ATL for latest v143 build tools (x86 & x64) (
Microsoft.VisualStudio.Component.VC.ATL)
- Windows 10/11 SDK (anything >= 10.0.19041.0) (
- Käynnistä shell uudelleen varmistaaksesi, että
cargoon käytettävissä - Asenna muut riippuvuudet:
.\mach bootstrap - Käännä servoshell:
.\mach build
Emme suosittele useamman kuin yhden Visual Studio -version asentamista. Servo yrittää etsiä oikean Visual Studio -version, mutta vain yhden version asentaminen vähentää virheiden riskiä.
Vianmääritys
Katso Yleinen vianmääritys -osio, jos käännöksessä on ongelmia eikä ongelmaasi ole listattu alla.
Cannot run mach in a path on a case-sensitive file system on Windows.
- Avaa komentokehote tai PowerShell ylläpitäjänä (Win+X, A)
- Poista kirjainkoon herkkyys Servo-repollesi:
fsutil file SetCaseSensitiveInfo X:\path\to\servo disable
Could not find DLL dependency: api-ms-win-crt-runtime-l1-1-0.dllDLL file `api-ms-win-crt-runtime-l1-1-0.dll` not found!
Etsi polku tiedostoon Redist\ucrt\DLLs\x64\api-ms-win-crt-runtime-l1-1-0.dll, esim. C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-runtime-l1-1-0.dll.
Aseta sitten WindowsSdkDir-ympäristömuuttuja polkuun, joka sisältää Redist, esim. C:\Program Files (x86)\Windows Kits\10.
thread 'main' panicked at 'Unable to find libclang: "couldn\'t find any valid shared libraries matching: [\'clang.dll\', \'libclang.dll\'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [(C:\\Program Files\\LLVM\\bin\\libclang.dll: invalid DLL (64-bit))])"', C:\Users\me\.cargo\registry\src\...
rustup on ehkä asennettu 32-bittisellä oletusisännällä 64-bittisen oletusisännän sijaan, jota Servo tarvitsee.
Tarkista oletusisäntä komennolla rustup show, aseta sitten oletusisäntä:
> rustup set default-host x86_64-pc-windows-msvc
ERROR: GetShortPathName returned a long path name: `C:/PROGRA~2/Windows Kits/10/`. Use `fsutil file setshortname' to create a short name for any components of this path that have spaces.
SpiderMonkey (mozjs) vaatii 8.3-tiedostonimet käyttöön Windowsilla (#26010).
- Avaa komentokehote tai PowerShell ylläpitäjänä (Win+X, A)
- Ota 8.3-tiedostonimien luonti käyttöön:
fsutil behavior set disable8dot3 0 - Poista ja asenna uudelleen mikä tahansa, joka sisältää epäonnistuvat polut, kuten Visual Studio tai Windows SDK — tämä on helpompaa kuin 8.3-tiedostonimien lisääminen käsin
= note: lld-link: error: undefined symbol: __std_search_1 >>> referenced by D:\a\mozjs\mozjs\mozjs-sys\mozjs\intl\components\src\NumberFormatterSkeleton.cpp:157
Tällaiset ongelmat voivat ilmetä mozjs:n päivityksen yhteydessä, koska päivitys voi riippua uudemmasta MSVC:stä (muista, että vaadimme “Latest” kohdassa set up your environment!). Ratkaise ongelma käynnistämällä Visual Studio Installer ja asentamalla kaikki saatavilla olevat päivitykset.