Introdução: Seu primeiro "Hello, world!" em Rust que não quer funcionar
\n\nVocê acabou de instalar o Rust, abriu o terminal, escreveu seu primeiro código nesta linguagem elegante e segura, digitou cargo run — e imediatamente recebeu uma linha vermelha desconcertante:
error: linker `link.exe` not found\n |\n = note: The system cannot find the file specified. (os error 2)\n\n\nFamiliar? Não entre em pânico! Você encontrou um dos problemas mais comuns entre iniciantes que migram para Rust no Windows. Este erro não é um bug do compilador nem uma maldição. É apenas um mal-entendido entre seu novo amigo Rust e o sistema operacional. Milhares de desenvolvedores já passaram por isso no Stack Overflow, e hoje vamos resolver esta situação de uma vez por todas. Bem-vindo ao mundo da programação de sistemas no Windows — aqui é preciso um pouco mais do que apenas instalar a linguagem.
\n\nPor que o Rust não encontra o link.exe? Entendendo a raiz do problema
\n\nPara entender por que ocorre o erro linker link.exe not found, precisamos olhar sob o capô do processo de compilação. Quando você escreve rustc main.rs ou cargo build, o Rust compila seu código em arquivos objeto. Mas não termina aí. Para obter um arquivo executável pronto (.exe), esses arquivos objeto precisam ser ligados (linked) juntos. Este trabalho é realizado por um programa especial — o linker.
No Windows, o linker padrão é o link.exe do conjunto de ferramentas Microsoft Visual C++ (MSVC). O Rust, sendo uma linguagem que "se dá bem" com o compilador do sistema, escolhe por padrão o toolchain MSVC (a menos que você tenha especificado o contrário durante a instalação). O problema é que este linker não faz parte do Windows. Ele é fornecido junto com o Visual Studio ou com o pacote separado Build Tools for Visual Studio.
Ponto chave: O Rust não consegue encontrar o link.exe porque ele simplesmente não está instalado no seu computador, ou não foi adicionado à variável de ambiente do sistema PATH.
Checklist rápido: o que pode ter dado errado?
\n- \n
- Você instalou o Rust através do
rustup-init.exee pressionou "Enter" em tudo. Isso é normal, mas o instalador não instala o Visual Studio. \n - Você tem o Visual Studio Code ou outra IDE instalada, mas não o Visual Studio. Não são a mesma coisa. \n
- Você escolheu o toolchain
GNUdurante a instalação. Se sim, você precisa não do MSVC, mas doGCC(por exemplo, através do MinGW). Mas hoje estamos falando sobre o MSVC padrão. \n
Solução nº1: Instalação do Visual Studio Build Tools (Método Recomendado)
\n\nEsta é a maneira mais correta e "nativa" para Windows. A Microsoft oferece um pacote gratuito que inclui apenas o compilador e o linker — sem a IDE pesada.
\n\n- \n
- Baixe o instalador: Acesse o site oficial da Microsoft e baixe o Build Tools for Visual Studio 2022. Procure por "Visual Studio 2022 Build Tools". \n
- Execute a instalação: Execute o arquivo baixado
vs_BuildTools.exe. \n - Selecione os componentes: No instalador, selecione a aba "Cargas de trabalho" (Workloads). Marque a opção "Desenvolvimento para desktop com C++" (Desktop development with C++). \n
- Instalação: Clique no botão "Instalar" no canto inferior direito. O processo pode levar de 10 a 20 minutos, pois cerca de 2-3 GB de dados serão baixados. \n
- Reinicialização (opcional): Após a conclusão da instalação, reinicie o computador para que as variáveis de ambiente sejam atualizadas. \n
Depois disso, abra um novo terminal e tente compilar seu projeto novamente:
\n\ncargo new hello_world