Avatar ·

Ошибка компиляции Rust на Windows: linker link.exe не найден

Привет всем! Я только начал изучать Rust и столкнулся с проблемой при попытке скомпилировать простейшую программу "Hello, world!". Установил Rust через rustup-init.exe, всё прошло успешно. Создал новый проект через `cargo new hello_world`, перешёл в папку проекта. В файле main.rs у меня такой код: ```rust fn main() { println!("Hello, world!"); } ``` Пытаюсь скомпилировать через `cargo build` и получаю ошибку: ``` error: linker `link.exe` not found | = note: The system cannot find the file specified. (os error 2) ``` Я на Windows 10, 64-bit. Судя по всему, Rust не может найти линковщик. Я пробовал переустанавливать Rust, но это не помогло. В интернете пишут, что нужно установить Visual Studio или Build Tools, но я не уверен, что именно нужно ставить и какие компоненты выбирать. Подскажите, пожалуйста, как это исправить? Может быть, есть способ обойтись без установки Visual Studio? Очень хочется начать писать на Rust, но эта ошибка меня останавливает. Заранее спасибо! <<>>

Почему возникает ошибка и как её исправить

Ошибка linker `link.exe` not found возникает потому, что компилятор Rust (rustc) не может найти стандартный линковщик Windows — link.exe. Этот линковщик входит в состав инструментов сборки Microsoft Visual C++ (MSVC). Rust по умолчанию использует цепочку инструментов MSVC на Windows, поэтому без установки соответствующих компонентов сборка невозможна.

Решение: установка Visual Studio Build Tools (рекомендуемый способ)

Вам нужно установить Microsoft C++ Build Tools. Это бесплатный пакет, который содержит только необходимые компиляторы и линковщики, без полной Visual Studio.

  1. Скачайте установщик с официального сайта: https://visualstudio.microsoft.com/visual-cpp-build-tools/
  2. Запустите установщик. Выберите вкладку "Рабочие нагрузки" (Workloads).
  3. Отметьте пункт "Разработка классических приложений на C++" (Desktop development with C++).
  4. Убедитесь, что в правой панели в разделе "Необязательные компоненты" отмечен пункт "Инструменты C++ для CMake" (C++ CMake tools for Windows) — он включает link.exe.
  5. Нажмите "Установить" и дождитесь завершения (потребуется ~2-5 ГБ дискового пространства).

После установки закройте и снова откройте терминал (или выполните команду refreshenv в PowerShell). Затем повторите сборку:

cargo build

Всё должно скомпилироваться успешно.

Альтернативный способ: установка полной Visual Studio Community

Если вам нужна полноценная среда разработки, можно установить Visual Studio Community (бесплатно для индивидуальных разработчиков). При установке также выберите рабочую нагрузку "Разработка классических приложений на C++". Это займёт больше места (~10-15 ГБ), но даст вам IDE и отладчик.

Проверка установки

После установки можно проверить, что линковщик доступен:

where link.exe

Вы должны увидеть путь вида: C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.xx.xxxxx\bin\Hostx64\x64\link.exe

Также можно проверить, что Rust видит нужные инструменты:

rustc --print target-list | findstr windows
rustc -C linker=link.exe --version

Дополнительный совет: использование GNU-линковщика

Если вы не хотите устанавливать MSVC, можно переключить Rust на использование цепочки инструментов GNU (MinGW). Для этого установите MinGW-w64 и выполните:

rustup default stable-x86_64-pc-windows-gnu

Однако этот способ менее стабилен для Windows и может вызывать проблемы с некоторыми библиотеками, поэтому я рекомендую первый вариант с MSVC.

После исправления вы сможете успешно компилировать и запускать вашу программу:

cargo run
Hello, world!
<<>>

Быстрое решение через установку только компонентов линковщика

Если у вас ограниченное место на диске или вы не хотите ставить полный пакет Build Tools, можно установить только минимальный набор компонентов, необходимых для работы link.exe.

Скачайте установщик Visual Studio Build Tools, запустите его и выберите "Отдельные компоненты" (Individual components). Найдите и отметьте следующие пункты:

  • MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
  • Windows 10/11 SDK (последняя версия)
  • C++ CMake tools for Windows

Эти компоненты весят около 1-2 ГБ и включают только компилятор, линковщик и необходимые заголовочные файлы. После установки перезагрузите терминал и проверьте:

cargo build

Если команда всё ещё не находит link.exe, попробуйте вручную добавить путь к нему в переменную окружения PATH. Обычно путь выглядит так:

C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.xx.xxxxx\bin\Hostx64\x64

Где 14.xx.xxxxx — версия инструментов MSVC (может отличаться).

Этот способ экономит место и время, но если в будущем вам понадобятся другие компоненты (например, отладчик или профилировщик), придётся доустанавливать их отдельно.