Me gustaría sobrescribir los directorios utilizados por Visual Studio (devenv.exe) para las rutas del compilador y la biblioteca. Sé cómo hacerlo interactivamente a través de Herramientas-> Opciones-> Directorios de VC++, pero me gustaría automatizar esto.cómo usar el archivo .vsprops para reemplazar los directorios de VC++ en MS Visual Studio
http://msdn.microsoft.com/en-us/library/t9az1d21(VS.80).aspx tiene una nota tentadora sobre esto: "Si desea configurar rutas de búsqueda de directorio (para sus proyectos) que puedan compartir otros usuarios o que se puedan aplicar en varios equipos, Visual C++ ofrece una alternativa al uso este diálogo, a través de las hojas de propiedades del proyecto. Para obtener más información, vea Hojas de propiedades (C++). "
Si sigue el enlace a la documentación de Hojas de propiedades, hay mucha información sobre el mecanismo pero ninguna sobre las propiedades reales que necesita establecer.
Encontré la información poblada por el diálogo Directorios de VC++, en% LocalAppData% \ Microsoft \ VisualStudio \ 8.0 \ VCComponents.dat (para VS 2005 y 9.0 para VS 2008); parece establecer varias propiedades en VC \ VC_OBJECTS_PLATFORM_INFO \ win32 \ Directories y ... \ x64 \ Directories.
¿Alguien ha hecho esto antes y sabe cuál es la asignación de los nombres de propiedad utilizados en VCComponents.dat a los nombres para usar en un archivo .vsprops?
Me gustaría que esto funcione en VS2005, VS2008 y VS2010, idealmente.
En VS2010, Microsoft eliminó por completo el cuadro de diálogo Directorios de VC++ en Opciones de visualización, lo hizo por proyecto y ahora obtiene una interfaz de usuario interactiva para editar estos directorios en Propiedades del proyecto en lugar de Opciones de visualización; esto también significa que hay una IU para eso en el administrador de propiedades; luego, si desea realizar cambios por máquina en lugar de por proyecto como solía hacerlo, simplemente configure una hoja de propiedades de la manera que desee y haga que todos sus proyectos hereden de ella. Esto suena como una gran mejora sobre la vieja manera. Y una forma directa de hacer lo que quiero hacer. Pero solo en VS2010.
VS2005 y VS2008 no tienen la interfaz de usuario para establecer estas propiedades en una hoja de proyecto o propiedad; Estoy feliz de hacerlo a mano, pero no sé cómo se supone que debe ser.
He aquí un archivo de VS 2005 .vsprops vacío:
<?xml version="1.0"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="pathSettings"
>
</VisualStudioPropertySheet>
he instalado VS 2010 y utilizó su nueva interfaz gráfica de usuario ordenada para hacer cambios en los directorios de búsqueda; se parece a esto:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup>
<ExecutablePath>C:\Test;$(PATH)</ExecutablePath>
</PropertyGroup>
</Project>
Sin embargo, que no funciona textualmente en VS2005 - VS2005 se niega a cargar (quejándose no se encontró ninguna declaración DTD/esquema).
I Plunked que en el recipiente, en respuesta a lo cual VS2005 me dice "Elemento 'PropertyGroup' es inesperado según el modelo contenido del elemento padre VisualStudioPropertySheet la" espera:. Herramienta, UserMacro." Tool y UserMacro son las únicas cosas que se muestran en el ejemplo en la página de MSDN [drat - StackOverflow no me deja como nuevo usuario poner un hipervínculo aquí - primer resultado de búsqueda de Google para 'hoja de propiedades herramienta usermacro'] - tal vez esos son las únicas cosas legales en una hoja de propiedades VS2005?
Más enlaces: - Propiedad la documentación técnica: http://msdn.microsoft.com/en-us/library/a4xbdz1e(VS.80).aspx - artículo sobre los cambios en VS 2010: http://blogs.msdn.com/vsproject/archive/2009/07/07/vc-directories.aspx Lo que no sé es qué poner en un archivo .vsprops (VS2005 o 2008) o archivo .props (2010) para lograr lo mismo que logras editando VCComponents.dat, para establecer o anular los directorios de búsqueda path/include/library para cada plataforma de compilación. – metamatt
Esto parece útil/relevante (todavía lo está procesando): http://stackoverflow.com/questions/142708/what-do-delimiter-and-inheritsfromparent-attributes-mean-in-vsprops-files – metamatt
OK, si solo Tool and UserMacro funciona allí, tal vez tengo que encontrar la manera correcta de anular la ruta de inclusión del compilador y la ruta de inclusión del enlazador utilizando las directivas de la herramienta. Eso no va a ayudar con el camino ejecutable, ¿verdad? – metamatt