Visual Studio: ¿dónde definir macros de rutas personalizadas?

Acabo de abrir el proyecto de Visual Studio de otra persona y en sus propiedades de comstackción tienen algunas macro de ruta personalizadas que están utilizando para sus directorios de inclusión y lib. Los nombres de macro son cosas como esta:

$(MY_WHATEVER_INCLUDE_DIR)

Podría reemplazar manualmente cada macro por la ruta real, pero sería bueno usar las macros. Mi pregunta es, ¿dónde defino estas macros de ruta personalizada en?

Este enlace http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx podría interesarle. No me gustó la idea de cambiar la configuración de mi sistema completo solo para construir un proyecto. La parte más interesante de la página es el último comentario:

Esta página no menciona cómo llegar a este diálogo:

Desde el Administrador de propiedades, haga doble clic en una página de propiedades. Haga clic en “Macros de usuario” en “Propiedades comunes” en el control de árbol.

Aquí el enfoque se describe con imágenes: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

En Visual Studio necesitas:

  1. Haga clic en el menú principal “Ver”, luego “Administrador de propiedades”
  2. Haga clic derecho en el espacio vacío de la ventana “Administrador de propiedades” y en el menú emergente haga clic en “Agregar nueva hoja de propiedades del proyecto”
  3. Después de agregar la hoja de propiedades, haga doble clic en la ventana Administrador de propiedades y en el árbol a la izquierda, seleccione la página de propiedades “Macros de usuario”.
  4. Luego puede hacer clic en el botón “Agregar macro”

Aquí hay un tutorial sobre Project Property Sheets: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/

Puede definirlos como variables de entorno de os , que es probablemente lo que hizo el autor original.

Es probable que una hoja de propiedades sea ​​la solución correcta; esta respuesta se basa en @ gregseth en lugar de buscar reemplazarla, ya que es demasiado tiempo para un comentario.

Descubrí que necesitaba caminos diferentes para los objectives de 32 bits y de 64 bits, y eso me llevó bastante tiempo descifrarlo, así que documenté el proceso en detalle .

Un malentendido clave que tuve con las hojas de propiedades fue que, a diferencia del editor de propiedades de VS habitual en el que puede editar diferentes combos de configuración / plataforma, una hoja de propiedades es solo una lista de propiedades. No tiene sub-secciones por configuración y por plataforma. Eso fue confuso porque cuando agregué una hoja a un proyecto, apareció debajo de cada nodo de configuración / plataforma en lugar de debajo del nodo del proyecto de nivel superior. Todas las entradas son en realidad para el mismo archivo de hoja de propiedades, por lo que editarlas las cambia a todas, pero inicialmente no las comprendí y pensé que aún tendría que cambiar el valor en cada lugar individualmente.

Puede agregar una hoja de propiedades a un solo conjunto de configuración / plataforma, a todos ellos, o solo a algún subconjunto.

Si desea tener una configuración global, entonces la configuración / anulación de plataforma puede hacerlo asegurándose de que las hojas de propiedades más específicas sean las últimas. Por lo tanto, es posible que tenga una hoja de propiedades “todas las configuraciones”, una para “x86”, una para “x64” una para “depuración” y otra para “publicación”. El objective de depuración x64 tendría las hojas “todos”, “x86”, “depuración”. Emula básicamente lo que el editor de propiedades de VS hace internamente.

Re: hmm .. Parece que no tengo la opción “Macros de usuario” en “Propiedades comunes”. Estoy usando VS 2010 Pro

La opción Macros de usuario no aparece si abre el cuadro de diálogo de propiedades para un archivo de proyecto, como lo hace en la vista Archivos normal. Debe cambiar a la vista de Propery, expandir algún proyecto y elegir una Página de propiedades (* .props) que haya agregado para tal fin. Las macros de usuario aparecen allí.

O bien, puede simplemente editar el XML directamente. Las macros funcionan bien si se definen en un archivo * .proj, pero convertirlo en una “Macro de usuario” no tiene sentido si no hay una página de edición. Así que simplemente conviértalo en una propiedad simple en un .

Como se señaló anteriormente, también atrae variables de entorno. Sin embargo, debes asegurarte de ponerlos en un contexto donde Devenv los vea. Hazlo en un shell de comandos y luego ejecuta DEVENV desde el mismo símbolo del sistema. Cuando tuve esa situación, hice un archivo por lotes para establecer las variables adecuadas y lanzar DEVENV, y poner ese icono de archivo bat en el escritorio.

Pruebe de otra manera sin agregar molestias a cada Hoja de propiedades

Vaya a Propiedades del sistema del sistema operativo Windows> Variables de entorno , simplemente Nuevo e ingrese la variable, por ejemplo: MY_PATH y valor, por ejemplo: D: \ Dev_Path \

Después de eso tienes que reiniciar tu Visual Studio, deberías poder tener $ {MY_PATH} en la lista de macros

p / s: solo tenga en cuenta que Jason Williams respondió anteriormente es el método de variables de entorno del sistema operativo

El camino para las últimas versiones de Visual Studio (2015+) es el siguiente:

Para crear una macro definida por el usuario:

  1. En la ventana Administrador de propiedades (en la barra de menús, elija Ver, Administrador de propiedades), abra el menú contextual para una hoja de propiedades (su nombre termina en .usuario) y luego elija Propiedades.
  2. Se abre el cuadro de diálogo Páginas de propiedades para esa hoja de propiedades. En el panel izquierdo del cuadro de diálogo, seleccione Macros de usuario. En el panel derecho, elija el botón Agregar macro para abrir el cuadro de diálogo Agregar macro de usuario.
  3. En el cuadro de diálogo, especifique un nombre y valor para la macro. Opcionalmente, seleccione la checkbox Establecer esta macro como una variable de entorno en el entorno de comstackción.

Fuente