diff --git a/.github/actions/setup-msvc-env/action.yml b/.github/actions/setup-msvc-env/action.yml index 3903d383ff..a032504dc1 100644 --- a/.github/actions/setup-msvc-env/action.yml +++ b/.github/actions/setup-msvc-env/action.yml @@ -93,10 +93,14 @@ runs: throw "VCToolsInstallDir was not exported by VsDevCmd.bat" } - $linker = Join-Path $vcToolsInstallDir "bin\Host${hostArch}\${targetArch}\link.exe" + $linker = Join-Path $installPath "VC\Tools\Llvm\x64\bin\lld-link.exe" if (-not (Test-Path $linker)) { - throw "MSVC linker not found at $linker" + $linker = Join-Path $vcToolsInstallDir "bin\Host${hostArch}\${targetArch}\link.exe" + } + if (-not (Test-Path $linker)) { + throw "Windows linker not found at $linker" } + Write-Output "Using Windows linker: $linker" $cargoTarget = "${{ inputs.target }}".ToUpperInvariant().Replace("-", "_") "CARGO_TARGET_${cargoTarget}_LINKER=$linker" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append