2011-06-06 10 views
5

Estoy usando GNU make para compilar un proyecto usando Microsoft Visual C++, y me gustaría poder ejecutarlo desde cualquier ventana de CMD en lugar de tener que abrir el preconfigurado uno donde la ruta (y varias otras variables de entorno) están preconfiguradas por un archivo por lotes. Idealmente, me gustaría definir las variables de entorno relevantes en el archivo MAKE, así que todo lo que necesito hacer es abrir una ventana de CMD y escribir "make".Especificando la ruta en makefile (GNU make en Windows)

En general, esto es sencillo, pero estoy luchando con PATH; Hasta ahora, todas las sintaxis que he intentado para tomar la variable PATH estándar (como se define en el sistema operativo) y anexar las rutas a las diversas herramientas de compilación han fallado.

En lugar de pasar por las seis o siete sintaxis diferentes que he probado, algunas de las cuales dieron mensajes de error, algunas de las cuales no dieron mensajes de error pero simplemente no funcionaron, haré la pregunta claramente:

  • Qué línea debo poner en mi archivo MAKE para que la ruta a link.exe, es decir, "C: \ Archivos de programa (x86) \ Microsoft Visual Studio 9.0 \ VC \ bin", se agregará a la camino utilizado por "hacer"?

Hasta ahora, el más cercano que he llegado al éxito ha sido definir:

link = "C: \ Archivos de programa (x86) \ Microsoft Visual Studio 9.0 \ VC \ bin \ link.exe"

... y reemplaza todas las referencias subsiguientes a "link.exe" por $ (LINK), pero esto falla porque link.exe tiene varias dependencias (como mspdb80.dll) que también deben estar en la ruta.

Respuesta

7

Esto funciona:

DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE 
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin 

export Path:=$(DevEnvDir);$(VCINSTALLDIR);$(Path) 

Fue la necesidad de "exportación", y para el caso de la sensibilidad que me había derrotado antes.

+1

En mi caso (make.exe v.3.8.1 de http://gnuwin32.sourceforge.net/packages/binutils.htm) Tuve que cambiar a mayúsculas - RUTA, con Path no funcionó. –

+0

Tuve la misma experiencia que @ZinovyNis. – drnewman

Cuestiones relacionadas