![Configurar variables de entorno en cmd no tiene ningún efecto](https://rvso.com/image/1481882/Configurar%20variables%20de%20entorno%20en%20cmd%20no%20tiene%20ning%C3%BAn%20efecto%20.png)
Estoy intentando configurar rutas a las herramientas VS para ejecutarlas en la línea de comandos, segúnhttps://msdn.microsoft.com/en-us/library/x4d2c09s.aspx
Ejecuto vcvarsall x64
desde el símbolo del sistema elevado y verifico el contenido de la INCLUDE
variable:
Luego cierro el símbolo del sistema, lo abro nuevamente y verifico la INCLUDE
variable:
Como puede ver, los cambios se perdieron cuando cerré CMD. ¿Cómo me aseguro de que lleguen al entorno del sistema?
Estoy usando Win 8.1 si es importante.
Respuesta1
Es porque los archivos por lotes que ejecuta se utilizan Set
para configurar las variables de entorno ( C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat
es lo que se ejecuta cuando ejecuta vcvarsall x64
).
Pero Set
solo establece variables para la sesión de línea de comando actual. Debe usarlo Setx
para que se "pegue" entre sesiones de línea de comando.
Para obtener más información, quizás consulte estas otras preguntas y respuestas de SU:
- ¿Qué son PATH y otras variables de entorno y cómo puedo configurarlas o usarlas?
- La variable de entorno no se pega
- Establezca variables de entorno desde la línea de comandos y haga que se mantengan globalmente
- ¿Cuál es la diferencia entre SETX y SET en variables de entorno en Windows?
Editar después de los comentarios:
"Pero los comandos establecidos estaban en el script predeterminado"
VCVarsAll está diseñado para ejecutarse para configurar el entorno para la compilación/acción única que está a punto de realizar, no para configurarlas de forma permanente.
Visual Studio instala entradas específicas de "símbolo del sistema" para acceder a las herramientas (desde su enlace: "...y luego elija uno de los símbolos del sistema nativos o entre herramientas"), y esos accesos directos especiales al símbolo del sistema ejecutan a/ el archivo por lotes para garantizar que todo esté configurado correctamente cuando utilice esos accesos directos.
Puedes replicar esos atajos con los tuyos propios...
Cree un nuevo acceso directo a cmd /k "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
, que ejecutará el archivo por lotes (usando x64 como opción de entorno) y luego mantenga abierta la ventana de la línea de comandos.
Luego use ese acceso directo para abrir el símbolo del sistema cuando desee usar las herramientas.
Respuesta2
Sí, puedes extraer el entorno al archivo:
cmd /C "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat" && set > d:\t.txt
Luego puede incluir este archivo en el archivo MAKE directamente o utilizar otra opción que se ajuste a sus necesidades.