Introducción: Tu primer "Hello, world!" en Rust que no quiere funcionar
\n\nAcabas de instalar Rust, abriste la terminal, escribiste tu primer código en este elegante y seguro lenguaje, ingresaste cargo run — y de inmediato recibiste una desconcertante línea roja:
error: linker `link.exe` not found\n |\n = note: The system cannot find the file specified. (os error 2)\n\n\n¿Te suena familiar? ¡No entres en pánico! Te has topado con uno de los problemas más comunes entre los principiantes que migran a Rust desde Windows. Este error no es un bug del compilador ni una maldición. Es simplemente un malentendido entre tu nuevo amigo Rust y el sistema operativo. Miles de desarrolladores han pasado por esto en Stack Overflow, y hoy resolveremos esta situación de una vez por todas. Bienvenido al mundo de la programación de sistemas en Windows — aquí se necesita un poco más que solo instalar el lenguaje.
\n\n¿Por qué Rust no encuentra link.exe? Entendiendo la raíz del problema
\n\nPara entender por qué ocurre el error linker link.exe not found, debemos mirar bajo el capó del proceso de compilación. Cuando escribes rustc main.rs o cargo build, Rust compila tu código en archivos objeto. Pero aquí no termina todo. Para obtener un archivo ejecutable listo (.exe), estos archivos objeto deben enlazarse (link) entre sí. Este trabajo lo realiza un programa especial — el enlazador.
En Windows, el enlazador predeterminado es link.exe del conjunto de herramientas Microsoft Visual C++ (MSVC). Rust, al ser un lenguaje que "se lleva bien" con el compilador del sistema, selecciona por defecto el toolchain MSVC (a menos que hayas especificado lo contrario durante la instalación). El problema es que este enlazador no es parte de Windows. Se distribuye junto con Visual Studio o con el paquete independiente Build Tools for Visual Studio.
Punto clave: Rust no puede encontrar link.exe porque simplemente no está instalado en tu computadora, o no está agregado a la variable de entorno del sistema PATH.
Lista de verificación rápida: ¿qué pudo haber salido mal?
\n- \n
- Instalaste Rust mediante
rustup-init.exey presionaste "Enter" en todas partes. Esto es normal, pero el instalador no instala Visual Studio. \n - Tienes instalado Visual Studio Code u otro IDE, pero no Visual Studio. No es lo mismo. \n
- Elegiste el toolchain
GNUdurante la instalación. Si es así, necesitasGCC(por ejemplo, a través de MinGW), no MSVC. Pero hoy hablamos del MSVC estándar. \n
Solución n.º 1: Instalación de Visual Studio Build Tools (Método recomendado)
\n\nEsta es la forma más correcta y "nativa" para Windows. Microsoft ofrece un paquete gratuito que incluye solo el compilador y el enlazador — sin la voluminosa IDE.
\n\n- \n
- Descarga el instalador: Ve al sitio web oficial de Microsoft y descarga Build Tools for Visual Studio 2022. Busca "Visual Studio 2022 Build Tools". \n
- Ejecuta la instalación: Ejecuta el archivo descargado
vs_BuildTools.exe. \n - Selecciona los componentes: En el instalador, selecciona la pestaña "Cargas de trabajo" (Workloads). Marca la casilla "Desarrollo de escritorio con C++" (Desktop development with C++). \n
- Instalación: Haz clic en el botón "Instalar" en la esquina inferior derecha. El proceso puede tomar de 10 a 20 minutos, ya que se descargan alrededor de 2-3 GB de datos. \n
- Reinicio (opcional): Después de completar la instalación, reinicia tu computadora para que las variables de entorno se actualicen. \n
Después de esto, abre una nueva terminal y vuelve a intentar compilar tu proyecto:
\n\ncargo new hello_world