Ошибка компиляции Rust в Windows: linker `link.exe` not found
Причина ошибки и её решение
Ошибка linker `link.exe` not found возникает потому, что компилятор Rust (rustc) не может найти компоновщик (линкер) от Microsoft — link.exe. В отличие от Linux, где линкер ld обычно уже встроен в систему, в Windows для сборки нативных программ требуется набор инструментов Microsoft Visual Studio Build Tools или Visual Studio с компонентом "C++ инструменты".
Rust использует link.exe для связывания объектных файлов в исполняемый файл. Если Visual Studio не установлена, или если переменная окружения PATH не указывает на папку с link.exe, компиляция завершается этой ошибкой.
Шаг 1: Установка Visual Studio Build Tools
Самый простой и правильный способ — установить пакет Microsoft C++ Build Tools. Он занимает меньше места, чем полная Visual Studio.
- Перейдите на официальную страницу: Build Tools for Visual Studio 2022.
- Скачайте установщик
vs_BuildTools.exe. - Запустите установку. В мастере выберите рабочие нагрузки (Workloads).
- Отметьте пункт "Разработка классических приложений на C++" (Desktop development with C++). В правой панели убедитесь, что выбраны компоненты MSVC (например, MSVC v143) и Windows SDK.
- Нажмите "Установить". Процесс может занять 5–10 минут.
Шаг 2: Проверка установки и настройка окружения
После установки откройте Командную строку разработчика (Developer Command Prompt) или PowerShell для разработчиков (Developer PowerShell) — они появятся в меню "Пуск" после установки Build Tools. В этом терминале уже настроены все пути к компилятору и линкеру.
Выполните команду проверки:
where link.exe
Если отобразится путь вида C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.38.33130\bin\Hostx64\x64\link.exe — всё в порядке.
Теперь попробуйте снова скомпилировать ваш проект:
cd C:\путь\к\вашему\проекту\hello_world
cargo build
Сборка должна пройти успешно. Если вы используете обычную командную строку (cmd) или PowerShell (не для разработчика), переменные окружения могут быть не установлены. В этом случае можно запустить rustup вручную, указав архитектуру:
rustup default stable-x86_64-pc-windows-msvc
Но лучше всего всегда работать в терминале разработчика, чтобы избежать подобных проблем.
Альтернативный вариант: установка через winget
Если вы предпочитаете автоматизированную установку, можно использовать менеджер пакетов winget (встроен в Windows 10/11):
winget install Microsoft.VisualStudio.2022.BuildTools --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
После завершения установки перезапустите терминал и выполните cargo build.
Важное замечание
Если вы не планируете писать на C++, но хотите минимальную установку, можно выбрать только компонент MSVC v143 и Windows 10/11 SDK без полной рабочей нагрузки. Однако для новичков проще установить полный набор "Разработка на C++", чтобы гарантированно иметь всё необходимое.
<<Решение через установку Rust GNU toolchain
Если по каким-то причинам вы не хотите устанавливать Visual Studio или Build Tools (например, на медленном интернете или ограниченном диске), можно переключить Rust на использование альтернативного линкера — GNU toolchain. Он использует ld из MinGW, который не требует Visual Studio.
Для этого выполните в терминале:
rustup default stable-x86_64-pc-windows-gnu
После этого Rust будет использовать линкер из набора MinGW. Однако вам всё равно потребуется установить MinGW-w64 (например, через MSYS2) или через менеджер пакетов winget:
winget install MSYS2.MSYS2
После установки MSYS2 откройте его терминал и выполните:
pacman -S mingw-w64-x86_64-gcc
Затем добавьте путь к папке bin MinGW в переменную PATH (обычно это C:\msys64\mingw64\bin). Перезапустите терминал и попробуйте cargo build.
Недостатки этого подхода:
- Производительность скомпилированных программ может быть немного ниже, чем при использовании MSVC.
- Некоторые крейты (библиотеки) могут иметь проблемы совместимости с GNU toolchain на Windows.
- Требуется дополнительная настройка окружения.
Поэтому для новичков рекомендуется первый вариант с Visual Studio Build Tools — он наиболее стабилен и поддерживается официально.
Ответов пока нет.
Войдите чтобы оставить ответ
Блоги